PHP递归实现层级树状展现数据
树状数据展现很常用,今天学习了PHP的递归,也来总结总结!
PHP代码:
function _getTreeList_custom1($data,$parent_id,$depth)
{
$return_array = array(); if(is_array($data) && !empty($data))
{
foreach($data as $key => $info)
{
if($info['parent_id'] == $parent_id)
{
$info['depth'] = $depth; $temp_info = $info; foreach($data as $s_info)
{
if($s_info['parent_id'] == $info['id'])
{
$temp_info['sub'] = _getTreeList_custom1($data, $info['id'], $depth+1);
break;
}
} $return_array[] = $temp_info;
}
}
} return $return_array;
} function _getTreeList_custom2($data,$parent_id,$depth)
{
$return_array = array(); if(is_array($data) && !empty($data))
{
foreach($data as $key => $info)
{
if($info['parent_id'] == $parent_id)
{
$info['depth'] = $depth;
$temp_info = $info;
unset($data[$key]);
$sub_list = _getTreeList_custom2($data,$info['id'],$depth+1); if(!empty($sub_list))
{
$temp_info['sub'] = $sub_list;
} $return_array[] = $temp_info;
} } } return $return_array;
}
前台显示:
function showTreeOnHtml($treeList)
{
echo '<ul>';
foreach($treeList as $key => $treeInfo)
{
echo '<li>';
echo $treeInfo['name'];
if(!empty($treeInfo['sub']))
{
showTreeOnHtml($treeInfo['sub']);
}
echo '</li>';
}
echo '<ul>'; }
showTreeOnHtml($treeList);
PHP递归实现层级树状展现数据的更多相关文章
- PHP 递归实现层级树状展现数据
<?php $db = mysql_connect('localhost', 'root', 'root') or die('Can\'t connect to database'); mysq ...
- Java-J2SE学习笔记-树状展现文件结构
1.利用java.io相关类树状展现文件结构 2.判定给定路径是否为dir,是则递归,每一递归一层缩进一次 3.代码 package Test; import java.io.File; public ...
- 菜鸟笔记:node.js+mysql中将JSON数据构建为树(递归制作树状菜单数据接口)
初学Web端开发,今天是第一次将所学做随笔记录,肯定存在多处欠妥,望大家海涵:若有不足,望大家批评指正. 进实验室后分配到的第一个项目,需要制作一个不确定层级树形菜单的数据接口,对于从来没实战编过程的 ...
- vue 树状图数据的循环 递归循环
在main.js中注册一个子组件 在父组件中引用 树状图的数据格式 绑定一个数据传入子组件,子组件props接收数据 子组件中循环调用组件,就实现了递归循环
- 基于ExtJs6前台,SpringMVC-Spring-Mybatis,resteasy,mysql无限极表设计,实现树状展示数据(treepanel)
先从后台讲起 1.表的设计 parent_id就是另外一条记录的id,无限极表设计可以参考 http://m.blog.csdn.net/Rookie_Or_Veteran/article/deta ...
- 如何构造树状 JSON 数据 JSON-Tree
十年河东,十年河西,莫欺骚年穷...打错一个字哈.~_~ 接着上一篇博客,上一篇博客是=使用数据库结合LINQ构造的,为了方便理解,本篇采用泛型分组进行构造. 有兴趣的小虎斑可以参考上一篇博客:如何构 ...
- Java递归获取部门树 返回jstree数据
@GetMapping("/getDept")@ResponseBodypublic Tree<DeptDO> getDept(String deptId){ Tree ...
- 树状结构Java模型、层级关系Java模型、上下级关系Java模型与html页面展示
树状结构Java模型.层级关系Java模型.上下级关系Java模型与html页面展示 一.业务原型:公司的组织结构.传销关系网 二.数据库模型 很简单,创建 id 与 pid 关系即可.(pid:pa ...
- D3树状图异步按需加载数据
D3.js这个绘图工具,功能强大不必多说,完全一个Data Driven Document的绘图工具,用户可以按照自己的数据以及希望实现的图形,随心所欲的绘图. 图形绘制,D3默认采用的是异步加载,但 ...
随机推荐
- Libgdx 开发指南(1.3) 应用框架——查询、日志
查询 Application接口提过多种方法查询运行时环境属性. 获得应用类型 有时候根据运行平台需要处理一些具体的逻辑,可以使用 Application.getType() 方法来返回应用所运行的平 ...
- SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件
SQL SERVER 2008配置Database Mail –用SQL 数据库发邮件 https://blogs.msdn.microsoft.com/apgcdsd/2011/06/28/sql ...
- JavaScript作用域学习笔记
重点知识点摘要 一 函数对象和其它对象一样,拥有可以通过代码访问的属性和一系列仅供JavaScript引擎访问的内部属性 其中一个内部属性是[[Scope]],由ECMA-262标准第三版定义,该内部 ...
- easyUI笔记09.03
layout的布局可以自适应 <body class="easyui-layout"> <div data-options="region:'north ...
- 【转】Lua coroutine 不一样的多线程编程思路
Lua coroutine 不一样的多线程编程思路 Sunday, Apr 26th, 2009 by Tim | Tags: coroutine, Lua 上周末开始看<Lua程序设计> ...
- pyhton 27 pip命令无法使用 没有Scripts文件夹 的解决方法
1 安装了setuptools http://jingyan.baidu.com/article/fb48e8be52f3166e622e1400.html 2 用ez_setup.py安装了setu ...
- Charles初体验
背景: 谈起HTTP调试代理工具, 很多人第一反应就会提到Fiddler. 可惜Fiddler由C#编写, 对Mac电脑的支持并不友好(存在Mac版Fiddler--mono fiddler, 不 ...
- MetaPhlAn 2:宏基因组进化分析
描述 MetaPhlAn是分析从物种水平分辨率宏基因组鸟枪法测序数据的微生物群落(细菌,古细菌,真核细胞和病毒)的组成的计算工具.从版本2.0,MetaPhlAn还能够确定具体的菌株(在将样品含有先前 ...
- java Map迭代
//先入先出 public class Test { public static void main(String[] args) { LinkedHashMap<String,Object&g ...
- vb6 调用 64位应用程序
Option Explicit Private Declare Function LoadLibrary Lib "kernel32.dll" Alias "LoadLi ...