按子數組值對多維數組進行排序
在組織資料以進行高效能檢索和處理時,按特定值對數組進行排序可能是一項很有價值的技術。在 PHP 中,您可能會遇到需要根據子數組值對多維數組進行排序的需要,例如「optionNumber」。
使用 usort 排序
usort 函數是使用使用者定義的比較函數對陣列進行排序的有效工具。以下是使用usort 按「optionNumber」子數組值對給定數組進行排序的範例:
function cmp_by_optionNumber($a, $b) { return $a["optionNumber"] - $b["optionNumber"]; } ... usort($array, "cmp_by_optionNumber");
匿名函數方法(PHP 5.3 及更高版本)
匿名函數方法(PHP 5.3 及更高版本)usort($array, function ($a, $b) { return $a['optionNumber'] - $b['optionNumber']; });
Spaceship 運算子(PHP 7.0 及更高版本)
usort($array, function ($a, $b) { return $a['optionNumber'] <=> $b['optionNumber']; });
PHP 7.0 引入了space=ship 運算子 ) ,它提供比較值的另一種方法。如果 $a 小於 $b,則傳回 -1;如果相等,則傳回 0;如果 $a 大於 $b,則傳回 1。這消除了比較中出現溢位或截斷問題的可能性:
重要提示
使用usort 時,請確保您所使用的子數組值是至關重要的排序是整數或數字字串。如果值是字串,請使用適當的字串比較函數來實現所需的排序順序。以上是如何依子數組值對多維 PHP 數組進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!