张老师在讲解数组的时候留下了这个作业。其实个人感觉重点是在于递归和foreach的结合
代码如下:
<pre name="code" class="php"><?php /*遍历所有数组的函数 date:2014年10月21日 星期二*/function MyForeach($MyVar){if(is_array($MyVar)){//如果是数组,则进行遍历foreach ($MyVar as $id => $value){MyForeach($value);}}else {//如果已经遍历完不是数组,则直接输出echo $MyVar."<br/>";//直接输出元素}}$MyVar = array(array(1,2,3),4,5,array(7,8,array(9,10)));MyForeach($MyVar);//输出12345678910
?>
其中MyForeach输入的变量如果不是数组,那么久直接输出。
如果是数组,则遍历其所有值。再将值作为函数的形参,如果此时依旧是数组,继续遍历,如果已经不是数组,那么久直接输出了,其实输出的也就是数组的值了。
我们拿上述代码的测试数组来看:
1、遍历最外层的数组时,第一个值是数组array(1,2,3),由于array(1,2,3)还是数组,则带入MyForeach继续遍历,遍历后将1带入MyForeach,将2带入MyForeach,将3带入MyForeach,则输出了1,2,3