Encodera

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.

Как сделать вложенный массив плоским

Короткий ответ

Для одного уровня вложенности хватит array_merge() с оператором распаковки:

<?php
 
$nested = [[1, 2], [3], [4, 5]];
 
echo implode(', ', array_merge(...$nested));

Результат:

1, 2, 3, 4, 5

Любая глубина

array_walk_recursive() обходит элементы на всех уровнях:

<?php
 
$nested = [1, [2, [3, [4]]], 5];
$flat = [];
 
array_walk_recursive($nested, function ($value) use (&$flat) {
    $flat[] = $value;
});
 
echo implode(', ', $flat);

Результат:

1, 2, 3, 4, 5

Функции из этого ответа

  • array_merge — Объединяет один или несколько массивов в один.
  • array_walk — Вызывает функцию для каждого элемента массива.

Спасибо, что читаете!

Пожертвуйте сайту, мы стараемся ради вас.