分类表字段有 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
)
)