当前位置:首页 > PHP教程 > php应用 > 列表

php递归实现无限分类的方法

发布:smiling 来源: PHP粉丝网  添加日期:2021-06-14 14:22:43 浏览: 评论:0 

这篇文章主要介绍了php递归实现无限分类的方法,涉及php递归遍历的相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下。

本文实例讲述了php递归实现无限分类的方法,分享给大家供大家参考,具体如下:

  1. <?php 
  2. $rows = array
  3.   array
  4.     'id' => 1, 
  5.     'name' => 'dev'
  6.     'parentid' => 0 
  7.   ), 
  8.   array
  9.     'id' => 2, 
  10.     'name' => 'php'
  11.     'parentid' => 1 
  12.   ), 
  13.   array
  14.     'id' => 3, 
  15.     'name' => 'smarty'
  16.     'parentid' => 2 
  17.   ), 
  18.   array
  19.     'id' => 4, 
  20.     'name' => 'life'
  21.     'parentid' => 0 
  22.   ), 
  23.   array
  24.     'id' => 5, 
  25.     'name' => 'pdo'
  26.     'parentid' => 2 
  27.   ), 
  28.   array
  29.     'id' => 6, 
  30.     'name' => 'pdo-mysql'
  31.     'parentid' => 5 
  32.   ), 
  33.   array
  34.     'id' => 7, 
  35.     'name' => 'java'
  36.     'parentid' => 1 
  37.   ) 
  38. ); 
  39. // 72648 
  40. // 84072 
  41. function findChild(&$arr,$id){ 
  42.   $childs=array(); 
  43.    foreach ($arr as $k => $v){ 
  44.      if($v['parentid']== $id){ 
  45.        $childs[]=$v
  46.      } 
  47.   } 
  48.   return $childs
  49. function build_tree($root_id){ 
  50.   global $rows
  51.   $childs=findChild($rows,$root_id); 
  52.   if(emptyempty($childs)){ 
  53.     return null; 
  54.   } 
  55.   foreach ($childs as $k => $v){ 
  56.     $rescurTree=build_tree($v[id]); 
  57.     if( null !=  $rescurTree){  
  58.     $childs[$k]['childs']=$rescurTree
  59.     } 
  60.   } 
  61.   return $childs
  62. $tree=build_tree(0); 
  63. echo memory_get_usage(); 
  64. print_r($tree); 
  65. ?> 

希望本文所述对大家的php程序设计有所帮助。

Tags: php递归无限分类

分享到: