Maison > Questions et réponses > le corps du texte
Comment effectuer une classification illimitée basée sur l'identifiant et le pid
迷茫2017-06-05 11:10:01
Utilisez une fonction récursive, mais la complexité spatiale de cette méthode n'a pas été optimisée. J'ai oublié la façon précédente de l'écrire
.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;
}
phpcn_u15822017-06-05 11:10:01
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;
}