Tom*_*eus 50 php arrays multidimensional-array
我已经在这一段时间里敲打了一会儿.
我有这个多维数组:
Array
(
[0] => Array
(
[0] => foo
[1] => bar
[2] => hello
)
[1] => Array
(
[0] => world
[1] => love
)
[2] => Array
(
[0] => stack
[1] => overflow
[2] => yep
[3] => man
)
Run Code Online (Sandbox Code Playgroud)
我需要得到这个:
Array
(
[0] => foo
[1] => bar
[2] => hello
[3] => world
[4] => love
[5] => stack
[6] => overflow
[7] => yep
[8] => man
)
Run Code Online (Sandbox Code Playgroud)
有任何想法吗?
我发现的所有其他解决方案都解决了具有不同键的多维数组.我的数组只使用简单的数字键.
dec*_*eze 79
array_reduce($array, 'array_merge', array())
Run Code Online (Sandbox Code Playgroud)
例:
$a = array(array(1, 2, 3), array(4, 5, 6));
$result = array_reduce($a, 'array_merge', array());
Run Code Online (Sandbox Code Playgroud)
结果:
array[1, 2, 3, 4, 5, 6];
Run Code Online (Sandbox Code Playgroud)
hak*_*kre 39
PHP array_merge
Docs函数可以展平您的数组:
$flat = call_user_func_array('array_merge', $array);
Run Code Online (Sandbox Code Playgroud)
如果原始数组的深度高于2个级别,则PHP中的SPL RecursiveArrayIterator
可用于展平它:
$flat = iterator_to_array(new RecursiveIteratorIterator(new RecursiveArrayIterator($array)), 0);
Run Code Online (Sandbox Code Playgroud)
请参阅:如何展平多维数组?.
Gre*_*xis 10
这就是它的全部内容:
foreach($array as $subArray){
foreach($subArray as $val){
$newArray[] = $val;
}
}
Run Code Online (Sandbox Code Playgroud)
Don*_*nic 10
从PHP 5.6开始,这可以通过参数解包更简单地完成.
$flat = array_merge(...$array);
Run Code Online (Sandbox Code Playgroud)