關於php利用數組中某個字段進行排序

工做中用到了一個相關的問題,搜索了百度有好多種方法,可是不一樣方法對應的函數不一樣,試了幾個發現仍是下面這個比較好用:數組

array_multisort($sortarray,SortRank,$sortlist)函數

 

$sortarray是用來存儲排序字段的數組,SortRank是排序條件,有如下兩種:spa

1.SORT_ASC - 默認,按升序排列。(A-Z)排序

2.SORT_DESC - 按降序排列。(Z-A)變量

 

$sortlist是須要排序的數組,以遇到的問題爲例:百度

 list = [{"name": "首頁","sort": 1},{"name": "企業管理","sort": 2},{"name": "訂單管理","sort": 3}]foreach

foreach($list as $list2){
$sort[]=$list2["sort"];
}
array_multisort($sort,SORT_ASC,$list);

PS:第一次用這個方法的時候覺得須要 $new_list = array_multisort($sort,SORT_ASC,$list),




其實不須要,這個函數排序事後,直接使用list便可,不然強行取變量取出來的可能只有true或者false
PS +1 :這個方法其實比較適用於二維數組,維數增多之後用起來是個災難。。。
相關文章
相關標籤/搜索