本文实例讲述了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'].""; 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程序设计有所帮助。