So führen Sie eine unbegrenzte Klassifizierung basierend auf ID und PID durch
拥有18年软件开发和IT教学经验。曾任多家上市公司技术总监、架构师、项目经理、高级软件工程师等职务。 网络人气名人讲师,...
使用遞歸函數,不過我寫這種方法空間複雜度沒有得到優化,忘記以前的寫法了
private function getTreeList($data, $pid = 0) { $resultarr = array(); foreach ($data as $teamdata) { if ($teamdata['pid'] == $pid) { $team_data = $teamdata; $children_data = $this->getTreeList($data, $teamdata['id']); $team_data['children'] = $children_data; $resultarr[] = $team_data; } } return $resultarr; }
用递归来循环出一个数组
public function gettree($items, $parent_id = 'parent_id', $id = 'id'){ $tree = array(); //格式化好的树 if(empty($items)){ return $tree; } foreach ($items as $item){ if (isset($items[$item[$parent_id]])){ $items[$item[$parent_id]]['son'][] = &$items[$item[$id]]; }else{ $tree[] = &$items[$item[$id]]; } } return $tree; }
使用遞歸函數,不過我寫這種方法空間複雜度沒有得到優化,忘記以前的寫法了
用递归来循环出一个数组