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

 更新时间:2015年10月13日 11:35:07   投稿:mrr  
本文给大家介绍php引用传递,如何通过引用出的思想实现无限分类,代码超简单,需要的朋友可以借鉴下

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

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

id   pid   name
1    0     四川
2    0     重庆
3    1     成都
4    1     绵阳
5    3     高新区

代码如下所示:

/**
  * 数组变成无限级分类--传引用思想
  * @param array $items
  * @return array
  */
 public static function get_tree($orig) {
  //解决下标不是1开始的问题
  $items = array();
  foreach ($orig as $key => $value) {
   $items[$value[‘id‘]] = $value;
  }
  //开始组装
  $tree = array();
  foreach ($items as $key => $item) {
   if ($item[‘pid‘] == 0) { //为0,则为1级分类
    $tree[] = &$items[$key];
   } else {
    if (isset($items[$item[‘pid‘]])) { //存在值则为二级分类
     $items[$item[‘pid‘]][‘child‘][] = &$items[$key]; //传引用直接赋值与改变
    } else { //至少三级分类
     //由于是传引用思想,这里将不会有值
     $tree[] = &$items[$key];
    }
   }
  }
  return $tree;
 }

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

相关文章

  • php+html5实现无刷新图片上传教程

    php+html5实现无刷新图片上传教程

    这篇文章主要为大家介绍了php+html5实现无刷新图片上传教程,一种全新的上传图片的方式,利用html5的FileReader读取图片文件,感兴趣的小伙伴们可以参考一下
    2016-01-01
  • PHP函数addslashes和mysql_real_escape_string的区别

    PHP函数addslashes和mysql_real_escape_string的区别

    这篇文章主要介绍了PHP函数addslashes和mysql_real_escape_string的区别,以及一个SQL注入漏洞介绍,需要的朋友可以参考下
    2014-04-04
  • Yii2.0中的COOKIE和SESSION用法

    Yii2.0中的COOKIE和SESSION用法

    Yii2的Cookie主要是通过yii/web/Request和yii/web/Response进行操作的,Yii2的Session比较简单 ,直接通过/Yii::$app->session进行操作就好了。本文给大家介绍COOKIE和SESSION用法,需要的朋友参考下
    2016-08-08
  • tp5 实现列表数据根据状态排序

    tp5 实现列表数据根据状态排序

    今天小编就为大家分享一篇tp5 实现列表数据根据状态排序,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-10-10
  • php实现贪吃蛇小游戏

    php实现贪吃蛇小游戏

    本文给大家分享的是使用php实现贪吃蛇小游戏的代码,其主要思路是通过session记录位置来制作,应该说思路非常巧妙,推荐给大家
    2016-07-07
  • PHP实现中文转拼音的方法

    PHP实现中文转拼音的方法

    这篇文章运用简单易懂的例子给大家介绍PHP将中文转换成拼音的方法,代码非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助
    2023-11-11
  • 根据ip调用新浪api获取城市名并转成拼音

    根据ip调用新浪api获取城市名并转成拼音

    这篇文章主要介绍了根据ip调用新浪api获取城市名并转成拼音的示例,,需要的朋友可以参考下
    2014-03-03
  • Zend Framework入门应用实例详解

    Zend Framework入门应用实例详解

    这篇文章主要介绍了Zend Framework入门应用,结合实例形式详细讲述了Zend Framework应用的创建步骤、相关命令、控制器及视图文件代码实现技巧,需要的朋友可以参考下
    2016-12-12
  • ubuntu10.04配置 nginx+php-fpm模式的详解

    ubuntu10.04配置 nginx+php-fpm模式的详解

    本篇文章是对buntu10.04配置 nginx+php-fpm模式进行了详细的分析介绍,需要的朋友参考下
    2013-06-06
  • php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息

    php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息

    这篇文章主要给大家介绍了关于php+ffmpeg如何获取视频缩略图、视频分辨率等相关信息的相关资料,文中通过实例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2022-03-03

最新评论