码迷,mamicode.com
首页 > 其他好文 > 详细

简单的无限分类中递归子栏目

时间:2015-10-08 18:33:16      阅读:130      评论:0      收藏:0      [点我收藏+]

标签:

  1. <?php  
  2.   
  3. /* 
  4.  * 找子栏目 
  5.  */  
  6.   
  7. $area=array(  
  8. array(‘id‘=>1,‘name‘=>‘中国‘,‘parent‘=>0),  
  9. array(‘id‘=>2,‘name‘=>‘广东‘,‘parent‘=>1),  
  10. array(‘id‘=>3,‘name‘=>‘深圳‘,‘parent‘=>2),  
  11. array(‘id‘=>4,‘name‘=>‘湖南‘,‘parent‘=>1),  
  12. array(‘id‘=>5,‘name‘=>‘长沙‘,‘parent‘=>4)      
  13. );  
  14.   
  15. function findson($arr,$id=0) {  
  16.       $son=array();  
  17.     foreach ($arr as $value) {  
  18.         if ($value[‘parent‘]==$id) {  
  19.             $son[]=$value;  
  20.         }  
  21.     }  
  22.     return $son;  
  23. }  
  24.   
  25. /* 
  26.  * 找子孙树 
  27.  * @param array 传入的数组 
  28.  * @param int  传入的id 
  29.  */  
  30.   
  31. function substree($arr,$id=0,$level=1) {  
  32.        static $grandson=array();  
  33.       
  34.     foreach ($arr as $value) {  
  35.         if ($value[‘parent‘]==$id) {  
  36.             $value[‘level‘]=$level;  
  37.             $grandson[]=$value;  
  38.             substree($arr,$value[‘id‘],$level+1);  
  39.         }  
  40.     }  
  41.       return $grandson;  
  42. }  
  43.   
  44. //var_dump( findson($area,1));  
  45. echo  "</br>";  
  46. //var_dump(substree($area,2));  
  47.   
  48. /* 
  49.  * 为了让它显示缩进效果 
  50.  */  
  51. $tt=substree($area,0,1);  
  52.   
  53.    foreach ($tt as $value) {  
  54.      echo str_repeat(‘  ‘$value["level"]).$value["name"]."</br>";  
  55.    }  
  56.      
  57. ?> 

简单的无限分类中递归子栏目

标签:

原文地址:http://my.oschina.net/u/2462507/blog/514390

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!