如何展平多维数组?在PHP中,是否可以在不使用递归或引用的情况下展平(双/多)维数组?我只对值感兴趣所以可以忽略键,我正在考虑array_map()和array_values()。
4 回答
30秒到达战场
TA贡献1828条经验 获得超6个赞
您可以使用标准PHP库(SPL)来“隐藏”递归。
$a = array(1,2,array(3,4, array(5,6,7), 8), 9);$it = new RecursiveIteratorIterator(new RecursiveArrayIterator($a));foreach($it as $v) { echo $v, " ";}
版画
1 2 3 4 5 6 7 8 9
有只小跳蛙
TA贡献1824条经验 获得超8个赞
从PHP 5.3开始,最短的解决方案似乎是array_walk_recursive()
使用新的闭包语法:
function flatten(array $array) { $return = array(); array_walk_recursive($array, function($a) use (&$return) { $return[] = $a; }); return $return;}
添加回答
举报
0/150
提交
取消