无限分类

举例:省份,城市,地区
一般是用三张表来相互关联例如


省、市、区表

或者使用一张表来表示例如:


4A57DF45-F0E8-4F46-AB68-4A2BC943CA2D.png

用一张表来表示的这种类型可以扩展成无限分类
无限分类代码
//数组无限分类,分类成多维数组
    public function treeAction($arr,$pid=0){
        $tree = array();
        foreach ($arr as $v) {
            if ($v['parent_id'] == $pid) {
                $son = $this->treeAction($arr,$v['cat_id']);
                if (!empty($son)) {
                    $v['son'] = $son;
                }
                $tree[] = $v;
            }
        }
        return $tree;
    }

    //数组无限分类,分类成一维数组
    public function tree($arr,$pid=0,$level=0){
        //创建一个数组
        static $tree = array();
        foreach ($arr as $v) {
            if ($v['parent_id'] == $pid) {
                //在数组里添加元素
                $v['level'] = $level;
                $tree[] = $v;
                $this->tree($arr,$v['cat_id'],$level+1);
            }
        }
        return $tree;
    }
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容