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


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

array_multisort($sortarray,SortRank,$sortlist)

 

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

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

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

 

$sortlist是需要排序的數組,以遇到的問題為例:

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

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 :這個方法其實比較適用於二維數組,維數增多以后用起來是個災難。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM