代码改变世界

php 原生无限级分类

2020-07-24 19:18  idea555  阅读(126)  评论(0)    收藏  举报

$arr = array(
0=>array(
'cid'=>1,
'pid'=>0,
'name'=>'亚洲',
),
1=>array(
'cid'=>2,
'pid'=>0,
'name'=>'北美洲',
),
2=>array(
'cid'=>3,
'pid'=>1,
'name'=>'中国',
),
3=>array(
'cid'=>4,
'pid'=>2,
'name'=>'美国',
),
4=>array(
'cid'=>5,
'pid'=>3,
'name'=>'北京',
),
5=>array(
'cid'=>6,
'pid'=>3,
'name'=>'河北',
),
6=>array(
'cid'=>7,
'pid'=>5,
'name'=>'东城区',
),
7=>array(
'cid'=>8,
'pid'=>5,
'name'=>'海淀区',
),
);

function tree($arr,$pid=0,$level=0){
static $newArr=[];
foreach ($arr as $key=>$v){
if ($v['pid']==$pid){
$v['level'] = $level;
$newArr[] = $v;
tree($arr,$v['cid'],$level+1);
}
}
return $newArr;
}
var_dump(tree($arr));