今天的学习内容:

  无限级分类菜单

  

class MenuController
{
public function test(){
$menu=[
['id'=>'1','parentid'=>'0','menuname'=>'1.m'],
['id'=>'2','parentid'=>'0','menuname'=>'2.m'],
['id'=>'3','parentid'=>'1','menuname'=>'1.3.m'],
['id'=>'4','parentid'=>'2','menuname'=>'2.4.m'],
['id'=>'5','parentid'=>'4','menuname'=>'2.4.5.m'],
['id'=>'6','parentid'=>'5','menuname'=>'2.4.5.6.m'],
];

$tree=$this->build($menu,0);
echo '<pre>';
// print_r($tree);
echo $this->menuView($tree);
}
//创建树
public function build(&$data,$parentid){
$tree=[];
foreach($data as $key=>$node){
if($node['parentid']==$parentid){
$children=$this->build($data,$node['id']);
if($children){
$node['children']=$children;
}
$tree[]=$node;
}
}
//返回
return $tree;
}
//遍历树
public function menuView($tree){
$html=null;
foreach($tree as $key=>$value){
if($value['children']){
$html.="<ul><li><a href='###'>".$value['menuname']."</a>";
$html.=$this->menuView($value['children']);
$html.="</li></ul>";
}else{
$html.= '<ul><li><a href="###">'.$value['menuname'].'</a></li></ul>';
}
}
return $html;
}
}

posted on 2017-07-18 17:12  躺枪  阅读(253)  评论(0编辑  收藏  举报