php树状
来源:互联网 发布:it培训招生计划 编辑:程序博客网 时间:2024/05/16 19:33
$data = [ ['self' => 'd', 'parent' => 'c'], ['self' => 'b', 'parent' => 'a'], ['self' => 'c', 'parent' => 'b'], ['self' => 'e', 'parent' => 'a'], ['self' => 'a', 'parent' => null], ['self' => 'f', 'parent' => 'e'], ['self' => 'h', 'parent' => 'g'], ['self' => 'g', 'parent' => 'f'], ['self' => 'h', 'parent' => null], ['self' => 'i', 'parent' => 'h'], ['self' => 'j', 'parent' => 'g'],];/** * @param $data 节点 * @param $parent 父节点 * @param string $keySelf 标识字符串 * @param string $keyParent 父节点标识字符串 * @param string $keyChild 子节点标识字符串 * @param null $null 空父节点标识字符串 * @return mixed 节点 */function parent($data, $parent, $keySelf = 'self', $keyParent = 'parent', $keyChild = 'child', $null = null){ foreach ($data as $key => $value) { if ($value[$keySelf] == $parent[$keyParent]) {//查找到父级 $data[$key][$keyChild][] = $parent;//子级加入到父级child return $data; } elseif (isset($value[$keyChild])) {//未查找到父级,节点存在子级 $data[$key][$keyChild] = parent($value[$keyChild], $parent, $keySelf, $keyParent, $keyChild, $null);//节点的子级中查找父级 } } return $data;}/** * @param $data 节点数组,结构中包括标识(string,唯一,必须),父节点标识(string,非必须),可包含任意其他数据 * @param string $keySelf 标识字符串 * @param string $keyParent 父节点标识字符串 * @param string $keyChild 子节点标识字符串 * @param null $null 空父节点标识字符串 * @return mixed 树状数组 */function tree($data, $keySelf = 'self', $keyParent = 'parent', $keyChild = 'child', $null = null){ foreach ($data as $key => $value) { if ($value[$keyParent] != $null) {//处理非顶级 $data = parent($data, $value, $keySelf, $keyParent, $keyChild, $null);//查找父级 unset($data[$key]); } } return $data;}var_dump(tree($data));
0 0
- php树状
- PHP无限树状类
- php实现树状结构无级分类
- php实现树状结构无级分类
- php实现树状结构无级分类
- php 无限分类 并生成树状图
- php无限分类 树状菜单经典代码
- php递归实现树状分类结构
- php把数据集转换成树状结构,无限极分类生成树状
- php从数据库读取菜单数据并树状显示
- php 实现遍历文件夹,返回树状结构数组
- http://acm.hdu.edu.cn/showproblem.php?pid=3015 树状数组
- http://acm.hdu.edu.cn/showproblem.php?pid=2852&&树状数组+二分
- 树状数组&&http://acm.hdu.edu.cn/showproblem.php?pid=1556
- http://acm.hdu.edu.cn/showproblem.php?pid=1892&&二维树状数组
- http://acm.hdu.edu.cn/showproblem.php?pid=2642&&二维树状数组
- http://acm.hdu.edu.cn/showproblem.php?pid=2227&&树状数组+离散化+dp
- http://acm.hdu.edu.cn/showproblem.php?pid=2688&&树状数组求正序数
- 常用的oracle数据字典
- 关于c语言指针的学习总结1
- 51nod 1067 Bash游戏 V2 (博弈论_找规律)
- 二叉排序树查找
- Spark: Spark和Hadoop的区别--关于资源使用
- php树状
- 程序员怎样快速赚到一百万?
- neural network and deep learing(笔记一)
- 在SrollView中嵌套GridView遇到的问题及解决办法
- 信息摘要与数字签名
- Socket介绍
- UML总体概述
- 1015. 德才论 (25)
- Awesome Big Data,了不起的大数据