php 无限级分类 获取顶级分类ID
php  /  管理员 发布于 7年前   339
有这样一个表,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
因为他写了几十行循环再判断再递归的代码,被我用两行代码替换了……您可能感兴趣的文章:
122 在
学历:一种延缓就业设计,生活需求下的权衡之选中评论 工作几年后,报名考研了,到现在还没认真学习备考,迷茫中。作为一名北漂互联网打工人..123 在
Clash for Windows作者删库跑路了,github已404中评论 按理说只要你在国内,所有的流量进出都在监控范围内,不管你怎么隐藏也没用,想搞你分..原梓番博客 在
在Laravel框架中使用模型Model分表最简单的方法中评论 好久好久都没看友情链接申请了,今天刚看,已经添加。..博主 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 @1111老铁这个不行了,可以看看近期评论的其他文章..1111 在
佛跳墙vpn软件不会用?上不了网?佛跳墙vpn常见问题以及解决办法中评论 网站不能打开,博主百忙中能否发个APP下载链接,佛跳墙或极光..
Copyright·© 2019 侯体宗版权所有·
粤ICP备20027696号