分类表字段有 id(自增) menu(菜单名) parent_id(父级id)

$data是查询出来的结果集

代码如下:

static function getTree($data,$parent_id=0,$level=0)
{
$items = array();
foreach($data as $v){
$items[$v['id']] = $v;
}
$tree = array();
foreach($items as $k => $item){
if(isset($items[$item['parent_id']])){
$items[$item['parent_id']]['son'][] = &$items[$k];
}else{
$tree[] = &$items[$k];
}
}
return $tree;
}

最后处理的结果

Array
(
[0] => Array
(
[id] => 1
[menu] => 品牌管理
[parent_id] => 0
[son] => Array
(
[0] => Array
(
[id] => 2
[menu] => 项目管理
[parent_id] => 1
)

[1] => Array
(
[id] => 3
[menu] => 需求管理
[parent_id] => 1
)

)

)

[1] => Array
(
[id] => 4
[menu] => 曲库管理
[parent_id] => 0
[son] => Array
(
[0] => Array
(
[id] => 5
[menu] => 音乐人管理
[parent_id] => 4
)

[1] => Array
(
[id] => 6
[menu] => 曲库音乐管理
[parent_id] => 4
)

)

)

[2] => Array
(
[id] => 7
[menu] => 歌单管理
[parent_id] => 0
)

[3] => Array
(
[id] => 8
[menu] => 语音管理
[parent_id] => 0
)

[4] => Array
(
[id] => 9
[menu] => 实时数据监测
[parent_id] => 0
)

)

版权声明:本文为CSDN博主「tianjingang1」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/tianjingang1/article/details/119567912