/**
     * 二级分类
     * @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;
    }

 

posted on 2017-03-03 23:17  晨曦年华  阅读(211)  评论(0编辑  收藏  举报