欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

最高效的无限级菜单生成方法

程序员文章站 2024-01-18 09:23:22
...
最高效的无限级菜单生成方法
$Menu= M('Menu');
$items= $Menu->order('pid, sort')->select();//按pid从小到大排序,以保证父节点在前,子节点在后。sort是同一层次节点的显示顺序。
$menu = array();
foreach ($items as $v) {
$menu[$v['_id']] = $v;
$menu[$v['_id']]['items'] = array();//items存放当前节点的所有子节点。
if($v['pid'] != 0) {
$menu[$v['pid']]['items'][$v['_id']] = &$menu[$v['_id']];
}
}
foreach ($menu as $k=>$v) {
if($v['pid'] != 0) {
unset($menu[$k]);
}
}
OT里面有对该功能的封装,目录位置Application\Common\Common\function.php文件里的list_to_tree函数,function.php文件里面还有很多功能函数大家可以看看。

AD:真正免费,域名+虚机+企业邮箱=0元