php 递归无线级别分类

复制代码
 1 <meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
 2 <?php 
 3 $tree=array(
 4     array('id'=>1,'name'=>'安徽','pid'=>'0'),
 5     array('id'=>2,'name'=>'北京','pid'=>'0'),
 6     array('id'=>3,'name'=>'山东','pid'=>'0'),
 7     array('id'=>4,'name'=>'昭阳区','pid'=>'2'),
 8     array('id'=>5,'name'=>'合肥市','pid'=>'1'),
 9     array('id'=>6,'name'=>'蜀山区','pid'=>'5'),
10     array('id'=>7,'name'=>'烟台市','pid'=>'3'),
11     );
12 /**
13  * @param $data array
14  * @param $pid parent_id
15  * @param $level
16  * @author tian
17  */
18 function tree($data,$pid=0,$level=1){
19     static $arr=array();
20     foreach($data as $v){
21         if($v['pid']==$pid){
22             $v['level']=$level;
23             $arr[]=$v;
24             tree($data,$v['id'],$level+1);
25         }
26     }
27 return $arr;
28 }
29 
30 $list=tree($tree,0,1);
31 var_dump($list);
32  ?>
复制代码

 

posted @   闲云-野鹤  阅读(208)  评论(0编辑  收藏  举报
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示