84669인 학습
152542인 학습
20005인 학습
5487인 학습
7821인 학습
359900인 학습
3350인 학습
180660인 학습
48569인 학습
18603인 학습
40936인 학습
1549인 학습
1183인 학습
32909인 학습
根据id,pid怎么进行无限分类
拥有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; }
使用遞歸函數,不過我寫這種方法空間複雜度沒有得到優化,忘記以前的寫法了
用递归来循环出一个数组