左侧树无限层级算法递归版,今天想好了。。

Posted best_jobs

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了左侧树无限层级算法递归版,今天想好了。。相关的知识,希望对你有一定的参考价值。

private function _getAllDep(){
    $rsDp = DB::table(‘department‘)
        ->orderBy(‘dep_no‘, ‘asc‘)
        ->get()
        ->toArray();
    return $rsDp;
}


public function getTree(){
    $rsDp = $this->_getAllDep();
    $rsDp = $this->_getTree($rsDp,$rsDp,$rsDp);
    sort($rsDp);
    return $rsDp;

}





private function _getTree(&$rsDp,$rsDpAll,&$rsFirst)
{
    foreach ($rsDp as $key => &$val) {
        foreach ($rsDpAll as $key1 => $val1) {
            if (isset($val1[‘dep_no‘]) && isset($val[‘dep_no‘]) && strpos($val1[‘dep_no‘], $val[‘dep_no‘]) !== FALSE && $val1[‘level‘] == ($val[‘level‘] + 1)) {
                $val[‘children‘][] = $val1;
                unset($rsFirst[$key1]);
            }
        }
        if(!empty($val[‘children‘])){
            $this->_getTree($val[‘children‘],$rsDpAll,$rsFirst);
        }
    }
    return $rsDp;
}

 

以上是关于左侧树无限层级算法递归版,今天想好了。。的主要内容,如果未能解决你的问题,请参考以下文章

KS Gantt甘特图控件通过递归加载无限层级的数据

js中实现无限层级的树形结构(类似递归)

PHP面试题精讲—无限级分类/无限分类的递归算法和非递归算法-带源码建议收藏

PHP面试题精讲—无限级分类/无限分类的递归算法和非递归算法-带源码建议收藏

Php无限层级并显示层级数

Php无限层级并显示层级数