PHP实现无限级分类生成树结构

PHP实现无限级分类生成树结构

quhe.net
2021-06-18 / 0 评论 / 50 阅读 / 正在检测是否收录...

方法封装

/**
     * @param $current_key string 当前编号
     * @param $parent_key string 父级编号
     * @param $array  array 数据
     * @return array 
     */
    public function getTreeList($current_key,$parent_key,$array){
        //第一步 构造数据
        $items = array();
        foreach($array as $value){
            $items[$value[$current_key]] = $value;
        }
        //第二部 遍历数据 生成树状结构
        $tree = array();
        foreach($items as $key => $value){
            if(isset($items[$value[$parent_key]])){
                $items[$value[$parent_key]]['children'][] = &$items[$key];
            }else{
                $tree[] = &$items[$key];
            }
        }
        return $tree;
    }

使用例子

$arrayData=array(
            array('name'=>'小明','wbs_no'=>1,'p_wbs_no'=>0),
            array('name'=>'小王','wbs_no'=>2,'p_wbs_no'=>1),
            array('name'=>'小李','wbs_no'=>3,'p_wbs_no'=>2),
        );
$result=$this->getTreeList('wbs_no','p_wbs_no',$arrayData);

输出

ldml82f1.png

2

评论 (0)

取消