树状的分类算法(递归)

电脑办公 (电脑整机(笔记本平板电脑超极本), 外设产品)

数据格式:

Array(‘cat_id’=>’45’, ‘cat_name’=>’电脑办公’, ‘parent_id’=>’0’, ‘children’=>

Array(

Array(‘cat_id’=>’8’, ‘cat_name’=>’电脑整机’, ‘parent_id’=>’45’, ‘children’=>

Array(

Array(‘cat_id’=>’18’, ‘cat_name’=>’平板电脑’, ‘parent_id’=>’8’, ‘children’=>array())

 

Array(‘cat_id’=>’65’, ‘cat_name’=>’笔记本’, ‘parent_id’=>’8’, ‘children’=>array())

 

Array(‘cat_id’=>’71’, ‘cat_name’=>’超极本’, ‘parent_id’=>’8’, ‘children’=>array())

 

)

Array(‘cat_id’=>’11’, ‘cat_name’=>’外设产品’, ‘parent_id’=>’45’, ‘children’=>array())

)

 

 

<?php
public function getNextedList($p_id=0){
//获得所有的列表
$list=$this->getList();
//制作嵌套的数据,递归查找
return $this->getNexted($list,$p_id);
}
public function getNexted($list,$p_id){
$children=array();
foreach($list as $row){
if($row['parent_id']==$p_id){
$row['children']=$this->getNexted($list,$row['cat_id']);
$children[]=$row;
}
}
return $children;
}
?>

转载于:https://www.cnblogs.com/hupengyin/p/5051458.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值