美文网首页
PHP 实现无限级分类的方式

PHP 实现无限级分类的方式

作者: 夜空中乄最亮的星 | 来源:发表于2018-08-07 11:11 被阅读0次

    引用式(性能更好)

    • 引用式无限极分类
    • 必须存在主键id 必须存在父级 pid
    function getTreeList($data){
        $list=[];
        foreach ($data as $v){
            $id=$v['id'];
            $list[$id]=$v;
        }
        $tree=[];
        foreach ($list as $k=>$v){
            $pid=$v['pid'];
            if(isset($list[$pid])){
                $list[$pid]['children'][]=&$list[$k];
            }else{
                $tree[$v['id']]=&$list[$k];
            }
        }
        return $tree;
    }
    

    递归式

    递归的方式就不多说了,直接上代码,用心领会吧

    function tree(&$list,$pid=0,$level=0,$html='      &nbsp')
    {
        static $tree = array();
        foreach($list as $v){
            if($v['pid'] == $pid){
                $v['sort'] = $level;
                $v['html'] = str_repeat($html,$level);
                $tree[] = $v;
                tree($list,$v['role_id'],$level+1);
            }
        }
        return $tree;
    }
    

    相关文章

      网友评论

          本文标题:PHP 实现无限级分类的方式

          本文链接:https://www.haomeiwen.com/subject/rgyovftx.html