'test', '2' => 'me', array ( 3 => beij, 4 => zz ), 45, array ( 5 => 5, 6 => ewrwer, 7 => ssss, array ( 8 => ssd, 9 => bdex ), 10, 11 ) ); ?>
复制代码
接下来,编写递归函数打印这个数组:
复制代码
调用示例:
recursivearr ( '-', $arr );
复制代码
出现下面图中的结果:从上面的运行结果图可以看出,发现有些键是重复的。为了比对区别和联系,接下来再看段代码:
.
; } next ( $array ); // 给key赋值后需要移动到下一个,key才会更新 } }
复制代码
如果我把之前的递归函数改成上面的code,运行结果图如下:
从上面的两种结果图应该可以看出一些什么了吧,亲。
说明:若把next()函数使用在foreach中的if-else代码段中,则不同层级的顺序是可以记录和遵循的;但如果把next()函数使用在foreach中的if-else代码段外的话,则顺序就是不区分层级直接递增的。因此,如果需要针对键值进行处理,则需要格外的注意此处的变化,否则可能会让你像子弹一样飞...哈!