日期:2014-05-16  浏览次数:20586 次

thinkphp动态加载菜单的问题
//用两个集合实现父子菜单的加载

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下的一级子节点的数据了