左侧树无限层级算法递归版,今天想好了。。
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; }
以上是关于左侧树无限层级算法递归版,今天想好了。。的主要内容,如果未能解决你的问题,请参考以下文章
PHP面试题精讲—无限级分类/无限分类的递归算法和非递归算法-带源码建议收藏