即使输入数组不为null,也会返回null:
function flattenArray($multi_array)
{
$flat_array = array();
foreach(new RecursiveIteratorIterator(new RecursiveArrayIterator($multi_array)) as $k => $v)
{
$flat_array[$k] = $v;
}
return $flat_array;
}你知道为什么吗?
发布于 2012-07-29 12:03:09
这对我在PHP 5.4上是有效的:
function flattenArray($multi_array)
{
return iterator_to_array(new RecursiveIteratorIterator(
new RecursiveArrayIterator($multi_array)), false
);
}
var_dump(flattenArray([1, 2, 3, [4, 5, [6, 7], 8], 9]));部分输出:
array(9) {
[0] =>
int(1)
[1] =>
int(2)
[2] =>
int(3)
[3] =>
int(4)据我所知,您的代码片段唯一的问题是键被覆盖了。
https://stackoverflow.com/questions/11706396
复制相似问题