这篇文章主要介绍ThinkPHP菜单无极分类的示例分析,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
效果图如下
controller控制器代码:
/** * 菜单列表 */ public function index(){ $menuList= Db::name('menu')->order('sort,id')->select(); //递归排序 $menuList= $this->sort($menuList); $this->assign('menuList',$menuList); return view(); } protected function sort($data,$pid=0,$level=0){ //此处数据必须是静态数组,不然递归的时候每次都会声明一个新的数组 static $arr = array(); foreach ($data as $key=>$value){ if($value['pid'] == $pid){ $value["level"]=$level; $arr[]=$value; //unset()用于销毁指定的变量 unset($this->data[$key]); $this->sort($data,$value['id'],$level+1); } } return $arr; }
html模板代码:
<tbody> {volist name="menuList" id="vo" key="index"} <tr> <td class="text-left"> <?php if($vo['pid']!=0) echo str_repeat(" ",$vo["level"]*3).'├╌ ' /*str_repeat()函数把字符串重复指定的次数。*/ ?> {$vo.name} </td> </tr> {/volist} </tbody>
以上是“ThinkPHP菜单无极分类的示例分析”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。