В PHP5.6 есть другой способ решения этой проблемы, объединяющий функции, array_shift()
для удаления первого элемента исходного массива, array_pus()
для добавления элементов в новый массив, важна вещь из ...
оператор splapt / elipse распакует возврат array_shitf()
как аргумент.
<?php
$arr = [
['foo', 'bar', 'hello'],
['world', 'love'],
['stack', 'overflow', 'yep', 'man', 'wow']
];
$new = [];
while($item = array_shift($arr)){
array_push($new, ...$item);
}
print_r($new);
Выход:
Array
(
[0] => foo
[1] => bar
[2] => hello
[3] => world
[4] => love
[5] => stack
[6] => overflow
[7] => yep
[8] => man
[9] => wow
)
Пример - ideone