12
11月
2021
/** * 递归法获取无限极类别的树状数组 * @param array $departments 数据库读取数组 * @param int $pid 父级ID(顶级类别的pid为0) * @param int $level 返回的树状层级 * @param int $i 层级起始值 * @return array 返回树状数组 */ public function departmentSelects($departments=array(), $pid = 0,$level=6,$i = 0) { $arr = array(); foreach($departments as $key =>$department){ if($department['parent_id'] == $pid){ if($i <= $level){ $arr[$department['id']] = $department; }else{ break; } $n = $i; $n++; $children = $this->departmentSelects($departments,$department['id'], $level,$n); empty($children) OR $arr[$department['id']]['children'] = $children; }else{ continue; } } return $arr; }