首页 > 开发 > PHP > 正文

PHP如何通过传引用的思想实现无限分类(代码简单)

2024-05-04 23:39:33
字体:
来源:转载
供稿:网友

本文给大家介绍php引用传递,如何通过引用出的思想实现无限分类,代码超简单,需要的朋友可以借鉴下

无限级分类,主要是通过储存上级分类的id以及分类路径来实现

在我的Simpla中,用到了无限分类,使用了PHP的传引用思想实现无限分类的方法,可以完美展示类似这样的分类模式。

id pid name

1 0 四川

2 0 重庆

3 1 成都

4 1 绵阳

5 3 高新区

代码如下所示:

 

 
  1. /** 
  2. * 数组变成无限级分类--传引用思想 
  3. * @param array $items 
  4. * @return array 
  5. */ 
  6. public static function get_tree($orig) { 
  7. //解决下标不是1开始的问题 
  8. $items = array(); 
  9. foreach ($orig as $key => $value) { 
  10. $items[$value[‘id‘]] = $value; 
  11. //开始组装 
  12. $tree = array(); 
  13. foreach ($items as $key => $item) { 
  14. if ($item[‘pid‘] == 0) { //为0,则为1级分类 
  15. $tree[] = &$items[$key]; 
  16. else { 
  17. if (isset($items[$item[‘pid‘]])) { //存在值则为二级分类 
  18. $items[$item[‘pid‘]][‘child‘][] = &$items[$key]; //传引用直接赋值与改变 
  19. else { //至少三级分类 
  20. //由于是传引用思想,这里将不会有值 
  21. $tree[] = &$items[$key]; 
  22. return $tree; 

以上内容很简单吧,如有错误或者更好的方法,希望可以相互交流。谢谢。!

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表