Как преобразовать мой многомерный массив в одномерный массив?

У меня есть проблема в моем массиве.

Мой массив выглядит так:

[[1,2,3,4],[5,6,7],[8,9,10,11,12]]

Я пытался использовать array_merge() объединить в один массив.

Я попытался объединить массив с array_combine(), но все равно не сливаются.

Я хочу, чтобы мой массив стал таким:

[1,2,3,4,5,6,7,8,9,10,11,12]

2 ответа

Решение
function recursive_merge_array($array) {
  $resArray = array();
  $it = new RecursiveIteratorIterator(new RecursiveArrayIterator($array));
  foreach($it as $v) {
    $resArray[] = $v;
  }

  return $resArray;
}

$myArrays = [[1,2,3,4],[5,6,7],[8,9,10,11,12]];
$mergedArrays = recursive_merge_array($myArrays);
print_r($mergedArrays);

Это работает, но я не на 100%, если это лучшее решение для этой проблемы...

$orignalArray = [[1,2,3,4],[5,6,7],[8,9,10,11,12]];

$newArray = array();

foreach ($orignalArray as $child){
    $newArray = array_merge($newArray, $child);
}

print_r($newArray);
Другие вопросы по тегам