用户
 找回密码
 入住 CI 中国社区
搜索
123
返回列表 发新帖
楼主: baiyuxiong
收起左侧

[库 Library] 分享,CI无限分类类库

    [复制链接]
发表于 2012-7-22 15:03:27 | 显示全部楼层
本帖最后由 sdink 于 2012-7-22 15:04 编辑
PHP复制代码
 
function genTree($items, $id = 'catid', $pid = 'parentid', $son = 'children') {
                $tree = array (); //格式化的树
                $tmpMap = array (); //临时扁平数据
                foreach ( $items as $item ) {
                        $tmpMap [$item [$id]] = $item;
                }
                foreach ( $items as $item ) {
                        if (isset ( $tmpMap [$item [$pid]] ) && $item [$id] != $item [$pid]) {
                                if (! isset ( $tmpMap [$item [$pid]] [$son] )) {
                                        $tmpMap [$item [$pid]] [$son] = array ();
                                }
                                $tmpMap [$item [$pid]] [$son] [] = &$tmpMap [$item [$id]];
                        } else {
                                $tree [] = &$tmpMap [$item [$id]];
                        }
                }
                unset ( $tmpMap );
                return $tree;
  }
 
 
 
复制代码

 楼主| 发表于 2012-8-31 17:54:21 | 显示全部楼层
一桶浆糊 发表于 2012-7-22 13:48
Fatal error: Call to undefined function lang()
这个是什么函数?

需要load一下语言的helper。

$this->load->helper('language');
发表于 2012-9-9 18:13:16 | 显示全部楼层
左右值,无限分类不错,不用使用递归函数
发表于 2012-9-14 10:27:04 | 显示全部楼层
实现是可以,如果数据量大了的话,效率会很低。
发表于 2012-9-21 15:03:53 | 显示全部楼层
学习思想 感谢分享
发表于 2012-9-22 22:45:51 | 显示全部楼层
谢谢分享!
发表于 2012-9-22 23:42:53 | 显示全部楼层
顶起
发表于 2010-11-21 00:49:01 | 显示全部楼层
O(∩_∩)O哈哈~,沙发是我的啦\nsa123abc 于 2012-10-14 13:16 使用 抢沙发 抢夺本帖沙发

本版积分规则