如何展平多維數組?在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
提交
取消