使用遞歸方法,遍歷子類,對數據進行重新排序,使用level進行無限級分類
/** * 功能:無限級分類 * 參數:$data 類別查詢結果集 * 返回值:$arr 排序后的數組 */ public function getCateTree($data) { $arr = $this->cateSort($data); return $arr; } /** * 功能:無限級分類排序 * 參數:$data 類別查詢結果集 * 返回值:$arr 遞歸查詢排序后的數組 */ public function cateSort($data,$pid=0,$level=0) { static $arr = array(); foreach($data as $k => $v) { if($v['pid'] == $pid) { $arr[$k] = $v; $arr[$k]['level'] = $level + 1; $this->cateSort($data,$v['id'],$level+1); } } return $arr; }
