如何用PHP实现无极分类菜单效果
导读:这篇文章主要给大家介绍“如何用PHP实现无极分类菜单效果”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“如何用PHP实现无极分类菜单效果”文章能对大家有所帮助。 效果图...
这篇文章主要给大家介绍“如何用PHP实现无极分类菜单效果”的相关知识,下文通过实际案例向大家展示操作过程,内容简单清晰,易于学习,有这方面学习需要的朋友可以参考,希望这篇“如何用PHP实现无极分类菜单效果”文章能对大家有所帮助。效果图如下
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("&
nbsp;
",$vo["level"]*3).'├╌ '
/*str_repeat()函数把字符串重复指定的次数。*/
?>
{
$vo.name}
/td>
/tr>
{
/volist}
/tbody>
通过以上内容的阐述,相信大家对“如何用PHP实现无极分类菜单效果”已经有了进一步的了解,更多相关的问题,欢迎关注网络或到官网咨询客服。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: 如何用PHP实现无极分类菜单效果
本文地址: https://pptw.com/jishu/652333.html
