按數值和鍵對關聯數組進行排序
給定一個具有字串鍵和數值的關聯數組,您希望按以下方式將陣列進行排序降序排列數值,然後依標籤名稱的字母順序排列。例如,輸入陣列:
$arrTags = [ 'mango' => 2, 'orange' => 4, 'apple' => 2, 'banana' => 3 ];
應輸出為:
orange (4) banana (3) apple (2) mango (2)
解:
一個可能的方法是使用usort
一個可能的方法是使用usortarray_multisort(array_values($arrTags), SORT_DESC, array_keys($arrTags), SORT_ASC, $arrTags);一個可能的方法是使用usort一個可能的方法是使用usort一個可能的方法是使用usort一個可能的方法是使用usort ()。但是,您需要一個自訂比較函數,該函數首先按數值排序,然後按鍵排序。排序可以分兩步驟完成:先按數值降序排序,然後按鍵值升序排序。 為了簡化程式碼,可以使用 array_values() 和 array_keys() 函數將值和鍵提取到單獨的陣列中。然後,使用 array_multisort() 對多個陣列執行多重排序。以下程式碼將產生所需的輸出:
以上是如何按數值和鍵降序對關聯數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!