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


Posted in PHP onMay 19, 2016

本文实例讲述了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递归栏目保存为数组

PHP 相关文章推荐
[原创]PHP中通过ADODB库实现调用Access数据库之修正版本
Dec 31 PHP
php 生成饼图 三维饼图
Sep 28 PHP
PHP判断搜索引擎蜘蛛并自动记忆到文件的代码
Feb 04 PHP
php正则表达式使用的详细介绍
Apr 27 PHP
php按百分比生成缩略图的代码分享
May 10 PHP
PHP编写登录验证码功能 附调用方法
May 19 PHP
php使用curl详细解析及问题汇总
Aug 11 PHP
PHP简单实现遍历目录下特定文件的方法小结
May 22 PHP
PHP的RSA加密解密方法以及开发接口使用
Feb 11 PHP
PHP以json或xml格式返回请求数据的方法
May 31 PHP
laravel框架如何设置公共头和公共尾
Oct 22 PHP
PHP函数用法详解【初始化、嵌套、内置函数等】
Jun 02 PHP
php处理json格式数据经典案例总结
May 19 #PHP
CI框架整合smarty步骤详解
May 19 #PHP
PHP QRCODE生成彩色二维码的方法
May 19 #PHP
PHP下载文件的函数实例代码
May 18 #PHP
PHP扩展框架之Yaf框架的安装与使用
May 18 #PHP
CI框架的安全性分析
May 18 #PHP
PHP的swoole扩展安装方法详细教程
May 18 #PHP
You might like
BBS(php &amp; mysql)完整版(二)
2006/10/09 PHP
解析php DOMElement 操作xml 文档的实现代码
2013/05/10 PHP
PHP微信PC二维码登陆的实现思路
2017/07/13 PHP
PHP实现的装箱算法示例
2018/06/23 PHP
laravel实现查询最后执行的一条sql语句的方法
2019/10/09 PHP
不用写JS也能使用EXTJS视频演示
2008/12/29 Javascript
Javascript 数组排序详解
2014/10/22 Javascript
JavaScript数组迭代器实例分析
2015/06/09 Javascript
JavaScript数组去重的3种方法和代码实例
2015/07/01 Javascript
Jquery+Ajax+PHP+MySQL实现分类列表管理(上)
2015/10/28 Javascript
JavaScript Split()方法
2015/12/18 Javascript
jQuery 选择器(61种)整理总结
2016/09/26 Javascript
关于jQuery EasyUI 中刷新Tab选项卡后一个页面变形的解决方法
2017/03/02 Javascript
ES6 Promise对象概念与用法分析
2017/04/01 Javascript
详解jquery插件jquery.viewport.js学习使用方法
2017/09/08 jQuery
vue使用keep-alive实现数据缓存不刷新
2017/10/21 Javascript
浅谈vue项目优化之页面的按需加载(vue+webpack)
2017/12/11 Javascript
jQuery实现通过方向键控制div块上下左右移动的方法【测试可用】
2018/04/26 jQuery
vue实现点击选中,其他的不选中方法
2018/09/05 Javascript
VUE2.0+ElementUI2.0表格el-table实现表头扩展el-tooltip
2018/11/30 Javascript
vue实现移动端input上传视频、音频
2020/08/18 Javascript
Python天气预报采集器实现代码(网页爬虫)
2012/10/07 Python
Python实现把xml或xsl转换为html格式
2015/04/08 Python
用不到50行的Python代码构建最小的区块链
2017/11/16 Python
python保存二维数组到txt文件中的方法
2018/11/15 Python
Ubuntu+python将nii图像保存成png格式
2019/07/18 Python
Django框架模板用法入门教程
2019/11/04 Python
Python3读写Excel文件(使用xlrd,xlsxwriter,openpyxl3种方式读写实例与优劣)
2020/02/13 Python
如何理解python面向对象编程
2020/06/01 Python
python中函数返回多个结果的实例方法
2020/12/16 Python
如何利用python 读取配置文件
2021/01/06 Python
澳大利亚在线高跟鞋商店:Shoe Me
2019/11/19 全球购物
亚洲最大的运动鞋寄售店:KicksCrew
2020/11/26 全球购物
感谢师恩主题班会
2015/08/17 职场文书
Django给表单添加honeypot验证增加安全性
2021/05/06 Python
Python如何解决secure_filename对中文不支持问题
2021/07/16 Python