代码:
function array_trans($list){
//定义静态变量
static $tmp = array();
if( !is_array($list) ){
return false;
}
foreach($list as $k=>$v){
if( is_array($v) ){
//值为数组则递归
array_trans($v);
}else{
$tmp[] = $v;
}
}
return $tmp;
}
//定义多维数组
$list = array(1,2,array('a','b','c'),array(
array(4,5,6),
array(7,8,9),
));
$l = array_trans($list);
var_dump($l);
输出结果:
C:\wamp64\www\Test\test.php:33:
array (size=11)
0 => int 1
1 => int 2
2 => string 'a' (length=1)
3 => string 'b' (length=1)
4 => string 'c' (length=1)
5 => int 4
6 => int 5
7 => int 6
8 => int 7
9 => int 8
10 => int 9
注意:static $tmp 静态变量的定义 每次递归会在原数组基础上赋值