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默认采用的是异步加载,但 ...
随机推荐
- jQuery--checkbox全选
jQuery.attr 获取/设置对象的属性值,如: $("input[name='chk_list']").attr("checked"); //读 ...
- 三部曲二(基本算法、动态规划、搜索)-1006-The Same Game
The Same Game Time Limit: 1000MS Memory Limit: 10000K Total Submissions: 4585 Accepted: 1699 Des ...
- 从零开始学习Node.js例子五 服务器监听
httpsnifferInvoke.js var http = require('http'); var sniffer = require('./httpsniffer'); var server ...
- 部分用到的python代码
replace file extensions # change .htm files to .html for file in *.htm ; do mv $file `echo $file | s ...
- 《C与指针》第六章练习
本章问题 1.如果一个值的类型无法简单的通过观察它的位模式来判断,那么机器是如何知道应该怎样对这个值进行操纵的? answer:The machine doesn't make this determ ...
- uva 11582
#include <iostream> #include <map> #include <cmath> #include <vector> #inclu ...
- css实现阴影效果(box-shadow)
box-shadow 使用方法 设置块阴影 语法: box-shadow:<length> <length> <length> <length> || ...
- 几个排序算法的python实现
几个排序算法 几个排序算法 几个排序算法 冒泡排序 选择排序 插入排序 快速排序 quick sort 冒泡排序 冒泡排序是比较简单的排序方法,它的思路是重复的走过要排序的序列,一次比较两个元 ...
- How to relocate tablespace directory
I’ll demonstrate how to relocate a tablespace directory without the reconstruction of databases. I h ...
- lua的栈
lua的栈是从栈底到栈顶: lua_pushstring(L, "test1");lua_pushstring(L, "test2");lua_pushstri ...