菜单啊菜单

jerry thinkphp 2015年11月19日 收藏
以前写的代码,竟然看不懂了。。。。花了整整两天时间。。。。
备注一下
  1. //功能主要是无限分级菜单
  2. $M=M('Menu');
  3. $condition=array('is_deleted'=>'0','status' =>'1');
  4. $result=$M->field("id,level,pid,name")->where($condition)->order('level')->select();
  5. //转换成数组,同级节点的索引值相同
  6.  $index[0]=0;
  7.         foreach ($result as $key => $value) {
  8.             $data[$value['level']][$key][$value['id']]=$value['name'];
  9.             $index[$value['id']]=$key;
  10.         }
  11. //倒序将当前级添加为上级的子节点
  12.         foreach (array_reverse($data,true) as $key => $value) {
  13.             foreach ($value as $k => $v) {
  14.                 $data[$key-1][$index[$result[$k]['pid']]][$k]=$data[$key][$k]; 
  15.             }          
  16.             unset($data[$key]);
  17.         }
  18. dump($data[0]);