无限级分类+固定分类 方法

 $value) {
            //进行判断如果pid=0,那么为顶级父类,放入定义的空数组里

            if ($value['fid'] == $pid) {
                //添加空格进行分层
                $value['level'] = $level;

                $list[$key] = $value;
                //递归点,调用自身,把顶级父类的主键id作为父类进行再调用循环,空格+1
                $list[$key]['son'] = $this->category($arr, $value['id'], $level + 1);
            }
        }
        return $list;//递归出口
    }


/**
     * 固顶几级分类fn
     * @param array $arr 准备实现分类的数组
     * @param bool $pid 默认0为顶级分类
     * @param bool $level 默认为0代表没有子级分类如果有那么便+1
     */
    function category2($arr, $pid = 0, $level = 0)
    {
        $list = array();
        foreach ($arr as $key => $value) {
            //Categoryid  为你的fid名称 
            if ($value['Categoryid'] == $pid) {
                $value['level'] = $level;
                $list[] = $value;
                $list = array_merge($list, $this->category2($arr, $value['id'], $level + 1));
            }

        }
        return $list;//递归出口
    }

 

你可能感兴趣的:(php)