Heim > Backend-Entwicklung > PHP-Tutorial > 一个无限循环数组的例子(递归)

一个无限循环数组的例子(递归)

WBOY
Freigeben: 2016-07-25 09:04:48
Original
1634 Leute haben es durchsucht
  1. /**

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

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

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

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



Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage