本方法主要是用array_walk()函数实现的。

array_walk(array,function,userdata...)

可以了解一下array_walk()用法,这是一个数组函数,第一个参数必须为数组,第二个参数是自定义的回调函数,第三个参数是自己自定义的一个参数,可以作为回调函数中的一个参数。


接下来就是数组遍历方法:

<?php
//定义一个数组,这里是四维数组    $arr=array(array(11,22),33,44,array(55,array(66,77,array(88,99))),1010);
//自定义回调函数方法
function out($array){
    //判断是否为数组
    if(is_array($array)){
        array_walk($array,'out');    //若为数组,则调用回调函数继续对该数组内的元素进行判断
    }else{
        echo $array.'</br>';        //若不为数组(即为元素),则输出该元素
    }
}
//调用方法
out($arr);
?>

输出结果:

11
22
33
44
55
66
77
88
99
1010


这里注意,array_walk()是对一个数组内的元素进行操作。当初编者我就因为没搞清这个而想了很久。

代码中,先进行判断是否为数组,最外层判断为数组,于是执行array_walk(),这是是对数组array(11,22)进行操作了,也就是外面一层数组($arr)的第一个元素($arr[0]=array(11,22))。



关于array_walk()第三个参数这里就不做讲解了,因为这里讲的是数组的遍历,而且第三个参数主要用于关联数组,这里主要讲索引数组。


因为编者我也是一个PHP初学者,这是我自己了解后总结的,如有错误,敬请指出。