码迷,mamicode.com
首页 > 其他好文 > 详细

无限分类

时间:2017-03-04 00:25:48      阅读:187      评论:0      收藏:0      [点我收藏+]

标签:get   level   evel   nbsp   pid   无限   blog   logs   cti   

/**
     * 二级分类
     * @param $data
     * @return array
     */
    public function getTree($data)
    {
        $arr = [];
        foreach ($data as $k=>$v){
            if($v->cate_pid == 0 ){
                $data[$k][_cate_name] = $v[cate_name];
                $arr[] = $data[$k];
            }
            foreach ($data as $m=>$n) {
                if($v->cate_id == $n->cate_pid){
                    $data[$m][_cate_name] = |-- .$n[cate_name];
                    $arr[] =  $data[$m];
                }
            }
        }
        return $arr;
    }
 /**
     * 递归方法
     * @param $data        要遍历的数组
     * @param int $pid     父id
     * @param int $level   缩进值
     * @return array
     */
    public function getTree($data,$pid=0,$level=0)
    {
        static $res = []; //静态变量的作用:在函数内部定义的变量能起到全局变量的作用
        foreach ($data as $k=>$v){
            if($v->cate_pid == $pid){
                //如果父id相等 说明找到 保存起来
                $v[level] = $level;     //页面中使用level 则 str_repeat(‘_‘,$data[‘level‘]);
                $res[] = $v;
                //改变条件递归查找
                $this->getTree($data,$v->cate_id,$level+1);
            }
        }
        return $res;
    }

 

无限分类

标签:get   level   evel   nbsp   pid   无限   blog   logs   cti   

原文地址:http://www.cnblogs.com/chenchenphp/p/6498818.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!