/** - * Author : GuoWangYunYan
- * QQ : 279861795
- * Date : 2011-6-23
- * link:www.jbuxe.com
- */
- //设置编码
- header('Content-type: text/html; charset=utf-8');
- //比较变态的用了个五维数组
- $a = array(
- 'AAAAAA' => array(
- 'aaaaaa' => array(
- '111111',
- '222222',
- '333333'
- ),
- 'bbbbbb' => array(
- '111111',
- '222222',
- '333333'
- ),
- 'cccccc' => array(
- '111111',
- '222222',
- '333333'
- ),
- ),
- 'BBBBBB' => array(
- 'aaaaaa' => array(
- '111111',
- '222222',
- '333333'
- ),
- 'bbbbbb'=> array(
- '111111',
- '222222',
- '333333'
- ),
- 'cccccc'=> array(
- '111111',
- '222222',
- '333333'
- ),
- ),
- 'CCCCCC' => array(
- 'aaaaaa'=> array(
- '111111',
- '222222',
- '333333'
- ),
- 'bbbbbb'=> array(
- '111111',
- '222222',
- '333333'
- ),
- 'cccccc' => array(
- '111111'=>array('44','55','66'),
- '222222'=>array('44','55','66'),
- '333333'=>array(
- '44'=>array('77','88','99'),
- '55'=>array('77','88','99'),
- '66'=>array('77','88','99'),
- ),
- ),
- ),
- );
//执行函数 - fun($a);
-
- //无限分类 递归大法开始
- function fun ($_info,$deep=0){
- //判断是不是数组
- if (is_array($_info)){
- //foreach 循环
- foreach ($_info as $key=>$val){
- //第一次前面-没有 以后每次循环增加4个 顺便输出键名
- echo str_repeat(' - ',$deep).$key.'
'; - //递归 输出键值 顺便每次前面增加4个----
- fun($val,$deep+4);
- }
- } else {
- //如果键值不是数组 那么 直接返回
- echo str_repeat('-', $deep) . "$val
"; - }
- }
- ?>
复制代码递归解释:递归作为一种算法,在程序设计语言中广泛应用,是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写程序能使程序变得简洁和清晰。 若不采用递归,执行效率相对较低。 |