Как сделать вложенный массив плоским
Короткий ответ
Для одного уровня вложенности хватит 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 — Вызывает функцию для каждого элемента массива.