php中實現無限極分類的方法:1.使用引用實現無限極分類;2.使用遞歸實現無限極分類;
1.php使用引用實現無限極分類
function generateTree($data){$items = array();
foreach($data as $v){
$items[$v['auth_id']] = $v;
}
$tree = array();
foreach($items as $k => $item){
if(isset($items[$item['auth_pid']])){
$items[$item['auth_pid']]['son'][] = &$items[$k];
}else{
$tree[] = &$items[$k];
}
}
return $tree;
}
2.php使用遞歸實現無限極分類
function getTree($arr,$pid=0,$level=0){
static $list = [];
foreach ($arr as $key => $value) {
if ($value["auth_pid"] == $pid) {
$value["level"] = $level;
$list[] = $value;
unset($arr[$key]);
getTree($arr,$value["id"],$level+1);
}
}
return $list;
}