1. * Author : GuoWangYunYan

  2. * QQ : 279861795
  3. * Date : 2011-6-23
  4. * link:www.jbuxe.com
  5. */
  6. //设置编码
  7. header('Content-type: text/html; charset=utf-8');
  8. //比较变态的用了个五维数组
  9. $a = array(
  10. 'AAAAAA' => array(
  11. 'aaaaaa' => array(
  12. '111111',
  13. '222222',
  14. '333333'
  15. ),
  16. 'bbbbbb' => array(
  17. '111111',
  18. '222222',
  19. '333333'
  20. ),
  21. 'cccccc' => array(
  22. '111111',
  23. '222222',
  24. '333333'
  25. ),
  26. ),
  27. 'BBBBBB' => array(
  28. 'aaaaaa' => array(
  29. '111111',
  30. '222222',
  31. '333333'
  32. ),
  33. 'bbbbbb'=> array(
  34. '111111',
  35. '222222',
  36. '333333'
  37. ),
  38. 'cccccc'=> array(
  39. '111111',
  40. '222222',
  41. '333333'
  42. ),
  43. ),
  44. 'CCCCCC' => array(
  45. 'aaaaaa'=> array(
  46. '111111',
  47. '222222',
  48. '333333'
  49. ),
  50. 'bbbbbb'=> array(
  51. '111111',
  52. '222222',
  53. '333333'
  54. ),
  55. 'cccccc' => array(
  56. '111111'=>array('44','55','66'),
  57. '222222'=>array('44','55','66'),
  58. '333333'=>array(
  59. '44'=>array('77','88','99'),
  60. '55'=>array('77','88','99'),
  61. '66'=>array('77','88','99'),
  62. ),
  63. ),
  64. ),
  65. );

  66. //执行函数

  67. fun($a);
  68. //无限分类 递归大法开始
  69. function fun ($_info,$deep=0){
  70. //判断是不是数组
  71. if (is_array($_info)){
  72. //foreach 循环
  73. foreach ($_info as $key=>$val){
  74. //第一次前面-没有 以后每次循环增加4个 顺便输出键名
  75. echo str_repeat(' - ',$deep).$key.'
    ';
  76. //递归 输出键值 顺便每次前面增加4个----
  77. fun($val,$deep+4);
  78. }
  79. } else {
  80. //如果键值不是数组 那么 直接返回
  81. echo str_repeat('-', $deep) . "$val
    ";
  82. }
  83. }
  84. ?>

复制代码

递归解释:递归作为一种算法,在程序设计语言中广泛应用,是指函数/过程/子程序在运行过程中直接或间接调用自身而产生的重入现象。递归是计算机科学的一个重要概念,递归的方法是程序设计中有效的方法,采用递归编写程序能使程序变得简洁和清晰。

若不采用递归,执行效率相对较低。



09-16 10:04