PHP实现无限极分类的两种方式
15页1、PHP实现无限极分类的两种方式,递归和引用面试的时候被问到无限极分类的设计和实现,比较常见的做法是在建表的时候,增加一个PID字段用来区别自己所属的分类$array = array(array(id = 1, pid = 0, name = 河北省),array(id = 2, pid = 0, name = 北京市),array(id = 3, pid = 1, name = 邯郸市),array(id = 4, pid = 2, name = 朝阳区),array(id = 5, pid = 2, name = 通州区),array(id = 6, pid = 4, name = 望京),array(id = 7, pid = 4, name = 酒仙桥),array(id = 8, pid = 3, name = 永年区),array(id = 9, pid = 1, name = 武安市),);1234567891011数据在数据库中存储大概是这个样子,怎么实现无限极递归呢,有两种常用的做法,递归和引用算法递归算法 /* * 递归实现无限极分类 * param $array 分
2、类数据 * param $pid 父ID * param $level 分类级别 * return $list 分好类的数组 直接遍历即可 $level可以用来遍历缩进 */ function getTree($array, $pid =0, $level = 0) /声明静态数组,避免递归调用时,多次声明导致数组覆盖 static $list = ; foreach ($array as $key = $value) /第一次遍历,找到父节点为根节点的节点 也就是pid=0的节点 if ($valuepid = $pid) /父节点为根节点的节点,级别为0,也就是第一级 $valuelevel = $level; /把数组放到list中 $list = $value; /把这个节点从数组中移除,减少后续递归消耗 unset($array$key); /开始递归,查找父ID为该节点ID的节点,级别则为原级别+1 getTree($array, $valueid, $level+1); return $list; /* * 获得递归完的数据,遍历生成分类 */ $array = getT
《PHP实现无限极分类的两种方式》由会员m****分享,可在线阅读,更多相关《PHP实现无限极分类的两种方式》请在金锄头文库上搜索。
DB2发生死锁情况时应该怎么处理
Python 为何能成最强编程语言
面试前必须要知道的Redis面试
MySQL下自动删除指定时间以前的记录的操作方法
深入理解FastCGI协议以及在PHP中的实现
MySQL数据库性能优化之硬件瓶颈分析
NoSQL数据库大全收集整理
2018 – 2019 年前端 JavaScript 面试题
PHP文件包含漏洞的形式总结
5种使用Python代码轻松实现数据可视化的方法
改进JavaScript和Bust的互操作性:深入认识wasm-bindgen组件
C#图片缩放平移从功能分析到编码实现
详解网络蜘蛛的安全隐患及预防方法
利用NAP解除安全隐患自动隐藏你的IP地址
解决分布式数据库和离线网络中原子性问题的新方法
bbed恢复数据遇到延迟块清除的问题
Oracle Data Redaction数据加密
linux下du和df结果不一致的原因及处理
基于QMP实现对qemu虚拟机进行交互
解读Java并发队列BlockingQueue
2023-08-28 7页
2023-08-15 11页
2020-05-10 4页
2020-05-10 4页
2020-05-10 6页
2020-05-10 5页
2020-05-10 5页
2020-05-10 3页
2020-05-10 5页
2020-05-10 4页