Php увеличивает вложенный массив из массива списка по значениям

наверное чего-то не видно У меня есть два массива:

$grid =
      
    Array
    (
        [0] => 3
        [1] => 2
        [2] => 3
        [3] => 2
    )

$elements =   

 Array
    (
        [0] => 24426
        [1] => 25015
        [2] => 24422
        [3] => 24425
        [4] => 24531
        [5] => 24421
        [6] => 24530
        [7] => 24532
        [8] => 25016
        [9] => 24418
    )

В основном идея состоит в том, чтобы иметь что-то подобное для каждого значения $grid значений $elements. Например, три цикла [0] => 3 дадут мне 24426,25015,24422. Теперь вот загвоздка: для второго результата [1] => 2 мне нужно получить только два значения, но исключая предыдущие значения трех $elements, которые повторяются. Так что в основном на второй итерации я бы получил 24425,24531.

ВНИМАНИЕ: значения $grid могут быть 1 , 2 ,3 ....300...n;

Результирующий массив должен быть таким:

Array
    (
        [0] => 3,24426
        [1] => 3,25015
        [2] => 3,24422
        [3] => 2,24425
        [4] => 2,24531
        [5] => 3,24421
        [6] => 3,24530
        [7] => 3,24532
        [8] => 2,25016
        [9] => 2,24418
  
  )

Возьмите значения из массива (удалите их) и поместите результаты во второй массив.

Honk der Hase 07.05.2022 12:46
Стоит ли изучать PHP в 2023-2024 годах?
Стоит ли изучать PHP в 2023-2024 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Symfony Station Communiqué - 7 июля 2023 г
Symfony Station Communiqué - 7 июля 2023 г
Это коммюнике первоначально появилось на Symfony Station .
Оживление вашего приложения Laravel: Понимание режима обслуживания
Оживление вашего приложения Laravel: Понимание режима обслуживания
Здравствуйте, разработчики! В сегодняшней статье мы рассмотрим важный аспект управления приложениями, который часто упускается из виду в суете...
Установка и настройка Nginx и PHP на Ubuntu-сервере
Установка и настройка Nginx и PHP на Ubuntu-сервере
В этот раз я сделаю руководство по установке и настройке nginx и php на Ubuntu OS.
Коллекции в Laravel более простым способом
Коллекции в Laravel более простым способом
Привет, читатели, сегодня мы узнаем о коллекциях. В Laravel коллекции - это способ манипулировать массивами и играть с массивами данных. Благодаря...
Как установить PHP на Mac
Как установить PHP на Mac
PHP - это популярный язык программирования, который используется для разработки веб-приложений. Если вы используете Mac и хотите разрабатывать...
1
1
32
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Обновлено: слегка изменен код, чтобы соответствовать требуемому выходному формату

Пожалуйста, рассмотрите этот код.

$grid = [3, 2, 3, 2];
$elements = [24426,25015,24422,24425,24531,24421,24530,24532,25016,24418];

$result = [];
foreach($grid as $take) {
    $org_take = $take;
    while($take-- > 0) {
        if (empty($elements)) {
            throw new Exception('Not enough elements');
        }
        $result[] = sprintf('%d,%d', $org_take, array_shift($elements));
    }
}

print_r($result);

Дает результат:

Array ( 
    [0] => 3,24426 
    [1] => 3,25015 
    [2] => 3,24422 
    [3] => 2,24425 
    [4] => 2,24531 
    [5] => 3,24421 
    [6] => 3,24530 
    [7] => 3,24532 
    [8] => 2,25016 
    [9] => 2,24418 
)

Другие вопросы по теме