1000字范文,内容丰富有趣,学习的好帮手!
1000字范文 > php无限极分类的代码示例(递归和树)

php无限极分类的代码示例(递归和树)

时间:2021-02-14 05:52:40

相关推荐

php无限极分类的代码示例(递归和树)

后端开发|php教程

php

后端开发-php教程

数卡网源码,vscode怎么开发VUE,ubuntu基础配置,tomcat的运行参数,sqlite3可以卸载吗,爬虫软件可以爬到考试题目吗,php 框架排行榜,大同seo优化排名靠前,网站对话工具,html商品模板lzw

本篇文章给大家带来的内容是关于php无限极分类的代码示例(递归和树),有一定的参考价值,有需要的朋友可以参考一下,希望对你有所帮助。

asp源码 在线考试,vscode 端口被占用,ubuntu加入dock,tomcat域名重复,sqlite 读写二进制,爬虫数据分析用那个好,php 函数漏洞,海南seo优化售后保障,网站照片的宽度和高度,网页播放器player,php模板生成pdflzw

(1) .递归实现

医药批发公司网站源码,vscode关联git,ubuntu 导出软件清单,tomcat外地访问,adb读取sqlite,jquery 选择框 插件,前端bootstrap框架栓栏,rvest java爬虫,安装php linux,seo 资料,旅游系统网站php模板,网页游戏辅助制作教程,手机端html免费模板下载,html答题页面,php做企业管理系统文档,文库程序源代码lzw

function getTree($array, $pid =0, $level = 0){//声明静态数组,避免递归调用时,多次声明导致数组覆盖 static $list = []; foreach ($array as $key => $value){//第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点 if ($value[pid] == $pid){//父节点为根节点的节点,级别为0,也就是第一级$value[level] = $level;//把数组放到list中$list[] = $value;//把这个节点从数组中移除,减少后续递归消耗 unset($array[$key]); //开始递归,查找父ID为该节点ID的节点,级别则为原级别+1getTree($array, $value[id], $level+1); } } return $list;}

结果如图:

(2) .树结构

function getTree($items,$pid ="pid") { $map = []; $tree = []; foreach ($items as &$it){ $map[$it[id]] = &$it; } //数据的ID名生成新的引用索引树 foreach ($items as &$at){ $parent = &$map[$at[$pid]]; if($parent) { $parent[children][] = &$at; }else{ $tree[] = &$at; } }return $tree;}

结果如图:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。