$pages = [
(object)[
'id'=>1,
'pid'=>0,
'title'=>'第一层一级'
],
(object)[
'id'=>2,
'pid'=>1,
'title'=>'第一层二级'
],
(object)[
'id'=>3,
'pid'=>0,
'title'=>'第二层一级'
],
(object)[
'id'=>4,
'pid'=>3,
'title'=>'第二层二级'
],
(object)[
'id'=>5,
'pid'=>4,
'title'=>'第二层三级'
],
(object)[
'id'=>6,
'pid'=>0,
'title'=>'第三层一级'
]
];
$navigators = [];
foreach ($pages as $page) {
$navigators[$page->id] = [
'id' => (int)$page->id,
'pid' => (int)$page->pid,
'title' => $page->title,
];
}
foreach ($navigators as &$nav) {
if (isset($navigators[$nav['pid']])) {
$navigators[$nav['pid']]['nodes'][] = &$nav;
}
}
$treeData = array_filter(
$navigators,
function ($nav) {
return $nav['pid'] === 0;
}
);
$res = [];
$res['code'] = 0;
$res['msg'] = '成功';
$res['data'] = array_values($treeData);
echo json_encode($res);
php对数据库查询出的数据整合成tree列表
最新推荐文章于 2024-04-23 16:20:32 发布