温馨提示×

php实现无限极分类

养鱼的猫咪
162
2021-03-24 14:36:01
栏目: 编程语言

php中实现无限极分类的方法:1.使用引用实现无限极分类;2.使用递归实现无限极分类;

php实现无限极分类

1.php使用引用实现无限极分类

function generateTree($data){

    $items = array();

    foreach($data as $v){

        $items[$v['auth_id']] = $v;

    }

    $tree = array();

    foreach($items as $k => $item){

        if(isset($items[$item['auth_pid']])){

            $items[$item['auth_pid']]['son'][] = &$items[$k];

        }else{

            $tree[] = &$items[$k];

        }

    }

    return $tree;

}

2.php使用递归实现无限极分类

function getTree($arr,$pid=0,$level=0)

{

    static $list = [];

    foreach ($arr as $key => $value) {

        if ($value["auth_pid"] == $pid) {

            $value["level"] = $level;

            $list[] = $value;

            unset($arr[$key]); 

            getTree($arr,$value["id"],$level+1);

        }

    }

    return $list;

}


0