在PHP 中按指定列對多維數組進行排序
要在PHP 中按特定列對多維數組進行排序,請使用內建的在PHP 函數usort 或uasort中。排序的關鍵是提供自訂比較函數來決定陣列元素的順序。
用於排序的自訂比較函數
自訂比較函數接受兩個元素數組作為輸入並傳回一個整數:
按單列排序
假設您有一個名為的多維數組$data 其中每個元素代表具有多列的記錄。若要依'name' 列對陣列進行排序,請使用以下程式碼:
usort($data, function($a, $b) { return strcmp($a['name'], $b['name']); });
此自訂比較函數使用strcmp 函數來比較每個元素的'name' 欄位。排序後的陣列將根據 'name' 列按字母順序排列元素。
依多列排序
依多列排序,將附加參數傳遞給自訂比較函數。例如,要按 '數字' 排序,然後按 '名稱'排序:
usort($data, function($a, $b) { if ($a['number'] == $b['number']) { return strcmp($a['name'], $b['name']); } return $a['number'] - $b['number']; });
進階功能
您也可以指定以下進階特點:
以上是如何在 PHP 中按指定列對多維數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!