php多维数组转化为一维数组的几种方法
|
第一种方法: 您可以使用标准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 第二种方法: 从PHP 5.3开始,最短的解决方案似乎是array_walk_recursive()使用新的闭包语法: function flatten(array $array) { $return = array(); array_walk_recursive($array,function($a) use (&$return) { $return[] = $a; }); return $return; } 第三种方法: 自定义函数法 function array_flatten($array) { $return = array(); foreach ($array as $key => $value) { if (is_array($value)){ $return = array_merge($return,array_flatten($value)); } else { $return[$key] = $value; } } return $return; } $array = Your array $result = array_flatten($array); echo " "; |
