《PHP实战:php 无限级分类 获取顶级分类ID》要点:
本文介绍了PHP实战:php 无限级分类 获取顶级分类ID,希望对您有用。如果有疑问,可以联系我们。
有这样一个表,id是分类的ID,name是分类名称,pid是上级分类的ID.PHP教程
现在有个分类ID,程序要找到它上级的上级的上级……分类的ID,简单说就是找出顶级分类的ID.
比如“新鲜水果”的ID是13,对应父类ID是5,而5的父ID是1,1没有父类,也就是顶级分类了.PHP教程
以前年轻气盛不懂事,总想着用递归来查找,然后再将结果缓存来办理性能问题.
后来又试过将整个表缓存起来,再递归查找.
再后来……似乎比较少有机会遇到无限级分类……PHP教程
最近有个同事问我怎么“优雅”的办理这个问题.
于是我灵机一动,就有了如下办理方案:PHP教程
<?php $sql = "select id, pid from tablename "; // 查询后 将结果处理成 如下数组格式 $arr = [ // id => pid 1 => 0, // 省略... 5 => 1, // 省略... 13 => 5 ]; // 建议将这数组缓存起来 $id = 13; while($arr[$id]) { $id = $arr[$id]; } echo $id; // 1
不得不说:真是太优雅了!连我都佩服我本身了,同事更是五体投地,痛哭流涕.
因为他写了几十行循环再判断再递归的代码,被我用两行代码替换了……PHP教程
欢迎参与《PHP实战:php 无限级分类 获取顶级分类ID》讨论,分享您的想法,维易PHP学院为您提供专业教程。
转载请注明本页网址:
http://www.vephp.com/jiaocheng/7380.html