如何在PHP 中按鍵對關聯數組進行排序[重複]
對數組進行排序可能是編程中的常見任務,尤其是當處理PHP 中的關聯數組等資料結構。這些數組與常規數組類似,但允許您透過鍵而不是數字索引來存取元素。
問題:
您有一個關聯數組,其元素如下如下所示:
Array ( [0] => Array ( [text] => tests [language] => [advertiserCompetitionScale] => 5 [avgSearchVolume] => 7480000 [lastMonthSearchVolume] => 9140000 ) [1] => Array ( [text] => personality tests [language] => [advertiserCompetitionScale] => 5 [avgSearchVolume] => 165000 [lastMonthSearchVolume] => 201000 ) [2] => Array ( [text] => online tests [language] => [advertiserCompetitionScale] => 5 [avgSearchVolume] => 246000 [lastMonthSearchVolume] => 301000 ) )
您想要依照「avgSearchVolume」依降序排列此陣列
解:
PHP提供了一個名為 usort 的內建函數,您可以使用它來實現此目的。 usort 有兩個參數:一個要排序的陣列和一個比較函數。比較函數採用兩個陣列元素作為參數,並傳回負整數、零或正整數:
要對數組進行排序,您可以定義一個比較函數,如下所示:
function cmp($a, $b) { return $b['avgSearchVolume'] - $a['avgSearchVolume']; }
此函數從“avgSearchVolume”中減去第一個元素的“avgSearchVolume”欄位”第二個元素的欄位。個元素之前。後,您的陣列將按「avgSearchVolume」欄位降序排序。
以上是如何在 PHP 中按特定鍵對多維關聯數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!