php 无限级分类 获取顶级分类ID,php顶级

有这样一个表,id是分类的ID,name是分类名称,pid是上级分类的ID。

现在有个分类ID,程序要找到它上级的上级的上级……分类的ID,简单说就是找出顶级分类的ID。

比如“新鲜水果”的ID是13,对应父类ID是5,而5的父ID是1,1没有父类,也就是顶级分类了。

以前年轻气盛不懂事,总想着用递归来查找,然后再将结果缓存来解决性能问题。

后来又试过将整个表缓存起来,再递归查找。

再后来……似乎比较少有机会遇到无限级分类……

最近有个同事问我怎么“优雅”的解决这个问题。

于是我灵机一动,就有了如下解决方案:

pid

1 => 0,

// 省略...

5 => 1,

// 省略...

13 => 5

];

// 建议将这数组缓存起来

$id = 13;

while($arr[$id]) {

$id = $arr[$id];

}

echo $id; // 1

不得不说:真是太优雅了!连我都佩服我自己了,同事更是五体投地,痛哭流涕。

因为他写了几十行循环再判断再递归的代码,被我用两行代码替换了……

您可能感兴趣的文章:php+mysql实现无限级分类 | 树型显示分类关系

php实现无限级分类实现代码(递归方法)

php 无限级分类,超级简单的无限级分类,支持输出树状图

ThinkPHP无限级分类原理实现留言与回复功能实例

php实现无限级分类

PHP实现递归无限级分类

PHP实现无限级分类(不使用递归)

http://www.bkjia.com/PHPjc/1109173.htmlwww.bkjia.comtruehttp://www.bkjia.com/PHPjc/1109173.htmlTechArticlephp 无限级分类 获取顶级分类ID,php顶级 有这样一个表,id是分类的ID,name是分类名称,pid是上级分类的ID。 现在有个分类ID,程序要找到它...

php查找顶级分类,php 无限级分类 获取顶级分类ID,php顶级_PHP教程相关推荐

  1. mysql 获取子分类_MySQL 自定义函数获取一个分类的无限级子分类

    本方法不易维护,建议取出数据,在程序中递归,例如 https://javascript.net.cn/article?id=654 代码如下:delimiter / DROP FUNCTION IF ...

  2. php 手机swf播放器,PHP实现使用优酷土豆视频地址获取swf播放器分享地址_PHP教程...

    项目用到临时写的.待完善: 复制代码 代码如下: /* * 根据用户提交的(swf/html)地址,获取优酷,土豆的swf播放地址 * */ private function _getSwf ($ur ...

  3. php连接mysql指定表名_php mysql获取指定数据库所有表名_PHP教程

    $cn = mysql_connect('localhost','root','root'); mysql_select_db('test',$cn); print_r(get_tables()); ...

  4. php放 土豆视频,PHP实现使用优酷土豆视频地址获取swf播放器分享地址_PHP教程

    /* * 根据用户提交的(swf/html)地址,获取优酷,土豆的swf播放地址 * */ private function _getSwf ($url = '') { if(isset($url) ...

  5. php mysql 一级分类_无限级分类 for PHP+Mysql

    一个PHP项目要用到分类,但不确认是4级还是需要用到5级,想着干脆做成无限级分类好了. 一开始想是按以前一样,数据库建4个值,如下: id: 自增   |   pid: 父类ID   |  xid: ...

  6. tp6中无限极分类里面的获取多级分类数据

    作者:陈业贵 华为云享专家 51cto(专家博主 明日之星 TOP红人) 文章目录 前言 一.什么是多级分类数据? 二.使用步骤 sql 代码 2.效果图 总结 前言 和大家共同完成获取多级分类数据 ...

  7. Magento获取指定分类下的所有子分类信息

    二次开发中经常遇到一种情况,就是判断一个分类是否属于某一个大的分类,而大的分类包括很多子分类成树状结构,基本的方法都是先获取大分类下的所有子分类的信息,然后再挨个比较看是否有ID和待定ID相等.一种用 ...

  8. WordPress获取当前分类ID的四种方法

    WordPress获取当前分类ID的四种方法 时间: 2015-01-05 所属栏目: Wordpress教程 作者: WP管理员之家 关键词: wordpress,分类ID 关注热度: 4,346 ...

  9. mysql多个分类取n条_MySQL获取所有分类和每个分类的前N条记录

    MySQL获取所有分类和每个分类的前N条记录.比如有文章表 test(Id,type,tiem),现在要用SQL找出每种类型中时间最新的前N个数据组成的集合,一段不错的代码,留存备用. SELECT ...

最新文章

  1. 由于不知线程池的bug,某Java程序员叕被祭天
  2. Python-TXT文本操作
  3. pyhanlp 停用词与用户自定义词典
  4. 在dreamweaver mx中它只能对html文件可以进行编辑,【职称计算机考试网页制作历年试题及答案二】- 环球网校...
  5. PHP核心技术笔记(2):面向对象的设计原则
  6. Java-ArrayList和Vector的区别
  7. NLP数据增强方法总结:EDA、BT、MixMatch、UDA
  8. 如果要学习web前端,需要学习什么
  9. 虚拟机使用ceph-deploy安装ceph
  10. python电脑下载教程-电脑64位怎么下载python
  11. Ubunt sudo免密码输入
  12. 计算机网络的三种通讯模式(单播,广播,组播)小结
  13. 设计模式学习五、代理模式
  14. 扒站工具Teleport Pro教程
  15. linux iptable 使用指南
  16. 【问题解决】QT报错 undefined reference to `__imp__ZN11QSerialPortD1Ev‘
  17. 人生在世,最大的笑话莫过于自作多情...
  18. 从零入门IDEA(二)Intellij IDEA软件安装:软件版本、安装环境需求、安装步骤
  19. html中微信添加好友超链接,微信给文字加链接代码分享(原来微信超链接是这样加的)...
  20. Ble Mesh技术(一)之概览

热门文章

  1. OpenCv的连通域操作
  2. oracle表回退语句,5 Oracle笔试题
  3. Python中曲率与弯曲的转换_黎曼几何学习笔记(3)——共形数量曲率与高斯曲率...
  4. python安装pip_在MAC下安装pip,并关联到相应的python版本
  5. thinkphp mysql函数_thinkphp对数据库操作有哪些内置函数
  6. python 前端学习_python学习之路7 前端学习3
  7. python删除文件夹中的jpg_Python简单删除目录下文件以及文件夹的方法
  8. V210 UART 整体流程
  9. k1658停运到什么时候_最近网传的春节快递停运时间表,是假的!
  10. 提交显示成功但是没有看到文件_如何向RTThread提交一个BSP?