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']."

";

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程序设计有所帮助。

本文原创发布php中文网,转载请注明出处,感谢您的尊重!

php 递归栏目名叠加,thinkPHP实现递归循环栏目并按照树形结构无限极输出的方法,thinkphp递归...相关推荐

  1. php 实现无限极分类树 (引用和递归)

    这里首先介绍一下,什么是无限极分类? 无限极分类简单点说就是一个类可以分成多个子类,然后一个子类又可以分另外多个子类这样无限分下去,就好象windows可以新建一个文件夹,然后在这个文件夹里又可以建一 ...

  2. vue树形结构html,怎么在vue中利用递归组件实现一个树形控件

    怎么在vue中利用递归组件实现一个树形控件 发布时间:2021-06-11 17:26:48 来源:亿速云 阅读:81 作者:Leah 本篇文章为大家展示了怎么在vue中利用递归组件实现一个树形控件, ...

  3. php控制器无限极分类,thinkphp无限极分类实现方法

    本文讲解了thinkphp框架下实现无限级分类的方法,无限级分类一般应用在网站的分类菜单中,是很常用的数据结构和功能,在thinkphp中实现这种方法也是很容易的一件事,接下来我们就来学习下如何来使用 ...

  4. php无限极下拉框,php递归实现无限分类生成下拉列表的函数

    代码如下: /*------------------ */ //– 递归实现无限分类生成下拉列表函数 //– $tpl->assign('sort_list',createSortOptions ...

  5. php 递归实现无限极分类和排序_php递归无限极分类

    递归无限级分类有几种形式,我这里仅仅举例比較经常使用的三种: 第一种:返回有排序的数组: $data = array( 1 => array( 'id' => 1, 'pid' => ...

  6. 一次循环实现List转树形结构(不使用递归)

    一.问题描述: 最新项目遇到了一个问题,树形结构加载时会超时,后分析后台代码发现,之前写的生成树形结构代码存在bug,当数据量不大时无法触发,一旦数据量比较大就会超时,就在想有没有什么办法能解决这个问 ...

  7. php不使用递归实现无限极分类

    无限极分类常用的是递归,但是比较不好理解,其实可以用数据库path,pid两个字段的设计来实现无限分类的功能 1.数据库设计 通过上图可以看出pid就是该栏目的父id,而path = 父path+pi ...

  8. php无限极递归概念,php无限极分类递归与普通

    1. 递归 public function getInfo(){ $data=$this->select(); $arr=$this->noLimit($data,$f_id=0,$lev ...

  9. php 递归实现无限极分类和排序_PHP无限级分类实现层级值间用字符串拼接

    题目: 如下数组,实现这么一个结果value=10-101-1011,label=万达-蜘蛛侠-已购票,其实就是层级值间用字符串拼接. $example=array(array('value'=> ...

最新文章

  1. 目标检测(Object Detection)原理与实现
  2. 2018.8.14-C#复习笔记总
  3. OpenPitrix 是一款开源多云应用程序管理系统
  4. WPF xml配置文件里面的大于小于号转义
  5. 使用解码逻辑创建YOLO Core ML对象检测器(四)
  6. 15_http响应相关概念
  7. java day60【 Spring 中的 JdbcTemplate[会用] 、Spring 中的事务控制 、Spring5 的新特性[了解] 】...
  8. 172篇文献:NUS颜水成等发布首篇《深度长尾学习》综述
  9. IOS xib 和storyboard的区别
  10. web 开发之js---js 实现文本高亮
  11. Hadoop 入门笔记
  12. delphi IDE插件 cnpack 使用记录
  13. Java List retainAll踩坑记录
  14. TAOCP中1.1习题1解答与思考
  15. html如何制作左侧导航栏,Html学习之十三(导航栏的制作)
  16. 动画3D变形:平移、旋转、缩放
  17. 邮件服务器域名怎么查看,如何查看企业邮箱是哪里的域名
  18. 修改linux xorg端口,修改/etc/X11/xorg.conf 调整分辨率为1024 768
  19. 赋能 打造应对不确定性的敏捷团队 pdf_《创业书影音》本期推荐《赋能》
  20. 量子计算 3 量子门与测量

热门文章

  1. JUC 中断线程的3种方式
  2. 定义快捷代码_nodepad++代码编辑器替代工具整理
  3. arcgis python实例_ArcGIS Python编程案例(14)-五个常用Python处理任务
  4. c++ vector 初始化_什么?还不懂c++vector的用法,你凭什么勇气来的!
  5. 申请美国计算机科学,美国计算机科学的申请特点
  6. python实现多智能体一致性_促进产学研,多智能体协同控制——科研与实践教学齐飞...
  7. mongodb php代码实例,php操作mongoDB实例分析
  8. 软件测试行业用mac好还是win好,业余RMAA测试 同样的硬件下OS X果然比Windows声音好...
  9. java背景图片加上组件_关于 java swing组件加背景图片的问题
  10. JavaScript学习笔记:常量,枚举,宏定义