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

 更新时间:2016年05月19日 11:40:37   作者:yanhui_wei  
这篇文章主要介绍了thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法,涉及thinkPHP数据库查询,数组遍历与字符串操作等技巧,需要的朋友可以参考下

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

相关文章

  • ThinkPHP5.0框架控制器继承基类和自定义类示例

    ThinkPHP5.0框架控制器继承基类和自定义类示例

    这篇文章主要介绍了ThinkPHP5.0框架控制器继承基类和自定义类,结合实例形式分析了thinkPHP5.0控制器基类与继承类相关定义与使用技巧,需要的朋友可以参考下
    2018-05-05
  • php使用websocket示例详解

    php使用websocket示例详解

    这篇文章主要介绍了php使用websocket示例,需要的朋友可以参考下
    2014-03-03
  • 2014年最新推荐的10款 PHP 开发框架

    2014年最新推荐的10款 PHP 开发框架

    在这篇文章我们会介绍 10 款最好的 PHP 框架,这些框架都是最新评定的,可以大大的简化你的开发任务。这些 PHP 框架可以帮助开发者快速设计和开发各种跨浏览器的动态网站和 web 应用,最后,希望你能在这些列表中找到你想要的 PHP 框架!
    2014-08-08
  • Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)

    Zend Framework入门之环境配置及第一个Hello World示例(附demo源码下载)

    这篇文章主要介绍了Zend Framework入门之环境配置及第一个Hello World示例,详细讲述了Zend Framework环境搭建与配置,以及实现第一个Hello World程序的方法,并附带demo源码供读者下载参考,需要的朋友可以参考下
    2016-03-03
  • easyui的tabs update正确用法分享

    easyui的tabs update正确用法分享

    jQuery EasyUI是一组基于jQuery的UI插件集合,而jQuery EasyUI的目标就是帮助web开发者更轻松的打造出功能丰富并且美观的UI界面。下面说一下tabs update的正确用法
    2014-03-03
  • win10下 php安装seaslog扩展的详细步骤

    win10下 php安装seaslog扩展的详细步骤

    这篇文章主要介绍了win10下 php安装seaslog扩展,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2020-12-12
  • thinkphp实现上一篇与下一篇的方法

    thinkphp实现上一篇与下一篇的方法

    这篇文章主要介绍了thinkphp实现上一篇与下一篇的方法,以实例形式对比分析了两种不同的实现方法供大家选择,方法二在方法一的基础上增加了判断的功能,是非常实用的技巧,需要的朋友可以参考下
    2014-12-12
  • php比较两个指定的日期的实例讲解

    php比较两个指定的日期的实例讲解

    在本篇文章里小编给大家整理了一篇关于php如何比较两个指定的日期的相关知识点内容,有需要的朋友们可以参考下。
    2021-08-08
  • PHP中读取文件的8种方法和代码实例

    PHP中读取文件的8种方法和代码实例

    这篇文章主要介绍了PHP中读取文件的8种方法和代码实例,本文总结了PHP中读取文件的8个函数,每一个都附有使用例子及注意事项等,需要的朋友可以参考下
    2014-08-08
  • 自己写的php curl库实现整站克隆功能

    自己写的php curl库实现整站克隆功能

    这篇文章主要介绍了自己写的php curl库实现整站克隆功能,本文给出工具库源码下载和使用示例,需要的朋友可以参考下
    2015-02-02

最新评论