PHP无限级分类方法

2023-08-15 PHP 1003
function get_tree( &$tree = array() ){
        if (empty($tree)) {
            $tree = M("category")->where("pid = 0")->select();
        }
        //循环父级分类,查找子分类
        foreach ($tree as $key => $value) {
            $temp = M("category")->where("pid = ".$value['id'])->select();//查找子分类
            if ($temp) {
                $tree[$key]['_child'] = $temp;
                $this->get_tree($tree[$key]['_child']);
            }
        }
        return $tree;
    }
}

说明:

此方法只适合分类数据量小的,因为是一次性读取数据库到内存,数据量大耗内存。
这里的M() 方法是ThinkPHP的字母方法,非TP可以自己组织sql语句查询子类。

0