时间:2020-09-22 浏览量: 收藏
递归实现无限分类
$data = [
0=>['id'=>1,'name'=>'电脑','father'=>0],
1=>['id'=>2,'name'=>'手机','father'=>0],
2=>['id'=>3,'name'=>'书籍','father'=>0],
3=>['id'=>4,'name'=>'台式机','father'=>1],
4=>['id'=>5,'name'=>'笔记本','father'=>1],
5=>['id'=>6,'name'=>'平板','father'=>1],
6=>['id'=>7,'name'=>'华为','father'=>2],
7=>['id'=>8,'name'=>'苹果','father'=>2],
8=>['id'=>9,'name'=>'教科书','father'=>3],
9=>['id'=>10,'name'=>'小学','father'=>9],
10=>['id'=>11,'name'=>'显示器','father'=>4],
11=>['id'=>12,'name'=>'荣耀','father'=>7],
];
/**
* 递归生成分类树
* @param $data 分类数据
* @param $pid 父级id
* @param $level 当前层级
* @return array
*/
function getTree($arr,$pid,$level){
static $tree=[];
foreach($arr as $key=>$val) {
if($val['father'] == $pid) {
$flag = str_repeat('└―',$level);
$val['name'] = $flag.$val['name'];
$tree[] = $val;
getTree($arr , $val['id'] ,$level+1);
}
}
return $tree;
}
$tree = getTree($data,0,0);
//foreach遍历输出分类数据
foreach ($tree as $val){
echo $val['name'].'<br>';
}
RELATED RECOMMEND
Copyright © 2012-2024 世敏网络 版权所有 闽ICP备18026760号-1
闽公网安备 35020502000640号 网站地图 AI内容索引
关键词聚合