码迷,mamicode.com
首页 > 编程语言 > 详细

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

时间:2018-06-06 15:52:57      阅读:133      评论:0      收藏:0      [点我收藏+]

标签:AC   each   reac   col   oar   asc   rtm   erb   sort   

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;
}

 

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

标签:AC   each   reac   col   oar   asc   rtm   erb   sort   

原文地址:https://www.cnblogs.com/best-jobs/p/9144478.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!