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;
 }

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

相关文章

  • Thinkphp结合ajaxFileUpload实现ajax异步图片传输全套代码

    Thinkphp结合ajaxFileUpload实现ajax异步图片传输全套代码

    这篇文章主要介绍了Thinkphp结合ajaxFileUpload实现ajax异步图片传输全套代码的相关资料,需要的朋友可以参考下
    2023-03-03
  • CI框架使用composer安装的依赖包步骤与方法分析

    CI框架使用composer安装的依赖包步骤与方法分析

    这篇文章主要介绍了CI框架使用composer安装的依赖包步骤与方法,结合实例形式分析了composer安装相关操作步骤与命令使用技巧,并给出了依赖包相关测试实例,需要的朋友可以参考下
    2016-11-11
  • CI框架中cookie的操作方法分析

    CI框架中cookie的操作方法分析

    这篇文章主要介绍了CI框架中cookie的操作方法,实例分析了CI框架操作cookie的三种常见方法,以及自定义扩展核心控制器类的实例加以分析说明,非常具有实用价值的技巧,需要的朋友可以参考下
    2014-12-12
  • php传值方式和ajax的验证功能

    php传值方式和ajax的验证功能

    这篇文章给大家介绍了php前台传值到后台进行验证的三种方式,以及ajax的验证功能,需要的朋友一起学习吧
    2017-03-03
  • 让codeigniter与swfupload整合的最佳解决方案

    让codeigniter与swfupload整合的最佳解决方案

    网上有很多关于ci与swfupload的帖子,不过,并不是很完整,所以,这里综合各家优点,经过自己实际经验,做了下整理,需要的朋友可以参考下
    2014-06-06
  • Laravel使用memcached缓存对文章增删改查进行优化的方法

    Laravel使用memcached缓存对文章增删改查进行优化的方法

    这篇文章主要介绍了Laravel使用memcached缓存对文章增删改查进行优化的方法,结合实例形式分析了Laravel框架中使用memcached缓存实现针对增删改查等操作的优化功能,需要的朋友可以参考下
    2016-10-10
  • Thinkphp模板中截取字符串函数简介

    Thinkphp模板中截取字符串函数简介

    在php中截取字符串的函数有很多,而在thinkphp中也可以直接使用php的函数,本文给大家简单的介绍thinkPHP模板中截取字符串的具体用法,希望能对各位有所帮助
    2014-06-06
  • PHP中in_array的隐式转换的解决方法

    PHP中in_array的隐式转换的解决方法

    本篇文章主要介绍了PHP中in_array的隐式转换的解决方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-03-03
  • PHP Callable强制指定回调类型的方法

    PHP Callable强制指定回调类型的方法

    这篇文章主要介绍了PHP Callable强制指定回调类型的方法,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-08-08
  • 深入理解PHP内核(一)

    深入理解PHP内核(一)

    PHP作为一门简单而强大的语言,能够提供很多Web适用的语言特性。从实践出发,继弱类型变量原理探究后,本文带领大家深入理解php内核(一)
    2015-11-11

最新评论