php 无限级分类 获取顶级分类ID
发布:smiling 来源: PHP粉丝网 添加日期:2019-11-26 10:57:28 浏览: 评论:0
有这样一个表,id是分类的ID,name是分类名称,pid是上级分类的ID。
现在有个分类ID,程序要找到它上级的上级的上级……分类的ID,简单说就是找出顶级分类的ID。
比如“新鲜水果”的ID是13,对应父类ID是5,而5的父ID是1,1没有父类,也就是顶级分类了。
以前年轻气盛不懂事,总想着用递归来查找,然后再将结果缓存来解决性能问题。
后来又试过将整个表缓存起来,再递归查找。
再后来……似乎比较少有机会遇到无限级分类……
最近有个同事问我怎么“优雅”的解决这个问题。
于是我灵机一动,就有了如下解决方案:
- <?php
- $sql = "select id, pid from tablename ";
- // 查询后 将结果处理成 如下数组格式
- $arr = [
- // id => pid
- 1 => 0,
- // 省略...
- 5 => 1,
- // 省略...
- 13 => 5
- ];
- // 建议将这数组缓存起来
- //phpfensi.com
- $id = 13;
- while($arr[$id]) {
- $id = $arr[$id];
- }
- echo $id; // 1
不得不说:真是太优雅了!连我都佩服我自己了,同事更是五体投地,痛哭流涕。
因为他写了几十行循环再判断再递归的代码,被我用两行代码替换了……
Tags: php无限级分类 php顶级分类
相关文章
- ·php无限级分类程序(2014-08-02)
- ·php无限级分类实例(2014-08-02)
- ·PHP无限级分类(2014-08-06)
- ·PHP用递归返回无限级分类回字符串或数组实例(2015-04-08)
- ·php 无限级分类,超级简单的无限级分类,支持输出树状图(2021-03-03)
- ·php+mysql不用递归实现的无限级分类实例(非递归)(2021-03-17)
- ·2款PHP无限级分类实例代码(2021-06-26)
- ·php 无限级分类 获取顶级分类ID(2021-07-14)
- ·PHP简单实现无限级分类的方法(2021-08-04)
- ·PHP利用递归函数实现无限级分类的方法(2021-11-13)
推荐文章
热门文章
最新评论文章
- 写给考虑创业的年轻程序员(10)
- PHP新手上路(一)(7)
- 惹恼程序员的十件事(5)
- PHP邮件发送例子,已测试成功(5)
- 致初学者:PHP比ASP优秀的七个理由(4)
- PHP会被淘汰吗?(4)
- PHP新手上路(四)(4)
- 如何去学习PHP?(2)
- 简单入门级php分页代码(2)
- php中邮箱email 电话等格式的验证(2)