thinkphp动态加载菜单的有关问题
程序员文章站
2024-02-09 10:49:52
...
thinkphp动态加载菜单的问题
为什么得出的$vo和我想的菜单目录结构不一样啊?
------解决方案--------------------
推荐版主的帖子:http://bbs.csdn.net/topics/390524563
------解决方案--------------------
1、从你的代码中看不出你打算做什么
2、如果外层循环是父菜单,那么内层循环就是为了组装父菜单项的子菜单数据
如果是这样,那么你的代码效率太低了
tp 提供了关联查询,并返回巢状数组的功能,并不需要你太费脑筋
3、传递的参数很自然的是父节点的id,这样就可以顺利的获取该id下的一级子节点的数据了
//用两个集合实现父子菜单的加载
foreach($vo as $key=>$value){
$vo[$key]['id']=$value['id'];
$vo[$key]['menuid']=$value['menuid'];
$vo[$key]['menuname']=$value['menuname'];
$vo[$key]['parentid']=$value['parentid'];
$vo[$key]['childid']=$value['childid'];
$vo[$key]['URL']=$value['URL'];
}
}
foreach($v1 as $key1=>$value1){
foreach($v2 as $key=>$value2){
if($key1+1>=count($vo)){
echo '1';
break;
}
if($v2[$key1+1]['parentid']==$vo[$key]['menuid']){
$vo[$key1+1]['parentid']=$value2['menuid'];
print_r($vo[$key+1]['parentid']);
}
}
}
dump($vo)
为什么得出的$vo和我想的菜单目录结构不一样啊?
------解决方案--------------------
推荐版主的帖子:http://bbs.csdn.net/topics/390524563
------解决方案--------------------
1、从你的代码中看不出你打算做什么
2、如果外层循环是父菜单,那么内层循环就是为了组装父菜单项的子菜单数据
如果是这样,那么你的代码效率太低了
tp 提供了关联查询,并返回巢状数组的功能,并不需要你太费脑筋
3、传递的参数很自然的是父节点的id,这样就可以顺利的获取该id下的一级子节点的数据了
相关文章
相关视频