php usort 使用用戶自定義的比較函數(shù)對二維數(shù)組中的值進(jìn)行排序
今天發(fā)現(xiàn)一個很好用二維數(shù)組排序的php方法,usort,推薦給大家,以后二維數(shù)組里面,要按照一個字段的值排序用這個方法簡單高效,例如下面的數(shù)組:
[guess_subject] => Array
(
[0] => Array
(
[subject_id] => 4587
[game_id] => 9228
[parent_category_id] => 78
[subject_title] => 全場比賽兩隊(duì)總得分之和是
[subject_date_time] => 1490668200
[status] => 2
[subject_answer] => 0
[totle_join] => 0
[max_nickname] =>
[max_currency] =>
)
[1] => Array
(
[subject_id] => 4588
[game_id] => 9228
[parent_category_id] => 78
[subject_title] => 本場比賽是否有加時賽
[subject_date_time] => 1490668200
[status] => 2
[subject_answer] => 0
[totle_join] => 0
[max_nickname] =>
[max_currency] =>
)
[2] => Array
(
[subject_id] => 4584
[game_id] => 9228
[parent_category_id] => 78
[subject_title] => 第二節(jié)兩隊(duì)總得分之和是
[subject_date_time] => 1490668200
[status] => 1
[subject_answer] => 0
[totle_join] => 0
[max_nickname] =>
[max_currency] =>
)
[3] => Array
(
[subject_id] => 4585
[game_id] => 9228
[parent_category_id] => 78
[subject_title] => 第三節(jié)兩隊(duì)總得分之和是
[subject_date_time] => 1490668200
[status] => 2
[subject_answer] => 0
[totle_join] => 0
[max_nickname] =>
[max_currency] =>
)
)
要按照status字段的升序排列的話,只需要這樣寫
foreach($data as $key => &$value) {
// 按照status的升序排序,使用用戶自定義的比較函數(shù)對數(shù)組中的值進(jìn)行排序,
// 本函數(shù)將用用戶自定義的比較函數(shù)對一個數(shù)組中的值進(jìn)行排序。 如果要排序的數(shù)組需要用一種不尋常的標(biāo)準(zhǔn)進(jìn)行排序,那么應(yīng)該使用此函數(shù)。
// 在第一個參數(shù)小于,等于或大于第二個參數(shù)時,該比較函數(shù)必須相應(yīng)地返回一個小于,等于或大于 0 的整數(shù)。
usort($value['guess_subject'], function($a, $b){
if ($a['status'] == $b['status'])
return 0;
return ($a['status'] < $b['status']) ? -1 : 1;
});
}
return $data;
就會按照status的 升序排列啦, status=1 的數(shù)組單元會排在前面
相關(guān)文章
php使用ffmpeg獲取視頻信息并截圖的實(shí)現(xiàn)方法
這篇文章主要介紹了php使用ffmpeg獲取視頻信息并截圖的實(shí)現(xiàn)方法,實(shí)例分析了php操作視頻與圖像的相關(guān)技巧,需要的朋友可以參考下2016-05-05
PHP基于imagick擴(kuò)展實(shí)現(xiàn)合成圖片的兩種方法【附imagick擴(kuò)展下載】
這篇文章主要介紹了PHP基于imagick擴(kuò)展實(shí)現(xiàn)合成圖片的兩種方法,結(jié)合實(shí)例形式分析了php使用imagick擴(kuò)展進(jìn)行圖片合并的具體操作方法與相關(guān)實(shí)現(xiàn)技巧,并附帶imagick擴(kuò)展下載地址與配置方法,需要的朋友可以參考下2017-11-11
火車采集器 免費(fèi)版使出收費(fèi)版本功能實(shí)現(xiàn)原理
火車頭免費(fèi)版本不支持采集結(jié)果的外掛處理,比如采用php來輔助處理結(jié)果,而火車頭本身對于正則表達(dá)式的不完整支持,2009-09-09
使用php+apc實(shí)現(xiàn)上傳進(jìn)度條且在IE7下不顯示的問題解決方法
本篇文章介紹了,使用php+apc實(shí)現(xiàn)上傳進(jìn)度條且在IE7下不顯示的問題解決方法。需要的朋友參考下2013-04-04
PHP中UNIX時間戳和日期間的轉(zhuǎn)換與計(jì)算實(shí)例
這篇文章主要介紹了PHP中UNIX時間戳和日期間的轉(zhuǎn)換與計(jì)算實(shí)例,本文講解了將日期和時間轉(zhuǎn)變成UNIX時間戳、日期的計(jì)算等內(nèi)容,需要的朋友可以參考下2014-11-11
PHP實(shí)現(xiàn)在windows下配置sendmail并通過mail()函數(shù)發(fā)送郵件的方法
這篇文章主要介紹了PHP實(shí)現(xiàn)在windows下配置sendmail并通過mail()函數(shù)發(fā)送郵件的方法,較為詳細(xì)的分析了Windows平臺sendmail配置步驟與相應(yīng)的使用技巧,需要的朋友可以參考下2017-06-06

