网络编程 
首页 > 网络编程 > 浏览文章

thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法

(编辑:jimmy 日期: 2025/4/3 浏览:3 次 )

本文实例讲述了thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法。分享给大家供大家参考,具体如下:

这里使用thinkphp递归循环栏目按照树形结构无限极输出,并保存为一个数组,利于模板调用

具体代码如下:

private function categoryTree($parentid,$level)
//因为是本类中使用所以定于为私有函数
{
$Category= D('Category');
$result = $Category->where("`parentid`=".$parentid)->order("listorder desc,catid desc")->select();
if($result)
{
$count=count($result);//当前子栏目个数
$level++;//子栏目层级
foreach($result as $v)
{
$index++;
if($count==$index) $step="└─";
else $step="├─";
$step.=str_repeat('  ',$level-1);
$nbsp=str_repeat('   ',$level-1);
$nstr=$nbsp.$step;
if($parentid==0) $nstr='';
$v['step']=$nstr;
$newData[$v['catid']]=$v;
//echo $nstr.$v['catname']."<br />";
if($v['child']==1)//如果有子栏目
{
$newData=$newData+$this->categoryTree($v['catid'],$level);
}
}
}
return $newData;
}

php递归栏目保存为数组

PS:本文代码没有进行格式化美化处理,这里推荐几款本站的格式化美化工具,相信大家在以后的开发中能够用得上:

php代码在线格式化美化工具:
http://tools.jb51.net/code/phpformat

JavaScript代码美化/压缩/格式化/加密工具:
http://tools.jb51.net/code/jscompress

在线XML格式化/压缩工具:
http://tools.jb51.net/code/xmlformat

sql代码在线格式化美化工具:
http://tools.jb51.net/code/sqlcodeformat

更多关于thinkPHP相关内容感兴趣的读者可查看本站专题:《ThinkPHP入门教程》、《ThinkPHP常用方法总结》、《smarty模板入门基础教程》及《PHP模板技术总结》。

希望本文所述对大家基于ThinkPHP框架的PHP程序设计有所帮助。

上一篇:thinkphp3.x自定义Action、Model及View的简单实现方法
下一篇:php处理json格式数据经典案例总结
一句话新闻
高通与谷歌联手!首款骁龙PC优化Chrome浏览器发布
高通和谷歌日前宣布,推出首次面向搭载骁龙的Windows PC的优化版Chrome浏览器。
在对骁龙X Elite参考设计的初步测试中,全新的Chrome浏览器在Speedometer 2.1基准测试中实现了显著的性能提升。
预计在2024年年中之前,搭载骁龙X Elite计算平台的PC将面世。该浏览器的提前问世,有助于骁龙PC问世就获得满血表现。
谷歌高级副总裁Hiroshi Lockheimer表示,此次与高通的合作将有助于确保Chrome用户在当前ARM兼容的PC上获得最佳的浏览体验。