這包括多維數組(包括物件數組)和排序一個數組基於另一個數組。
排序功能:
PHP 需要自定義比較函數來對複雜值進行排序。
步驟:
創建一個比較函數,該函數接受兩個元素並返回:
使用其中一個函數:
如果依數字排序key:
function cmp(array $a, array $b) { return $a['baz'] - $b['baz']; }
如果一組物件排序:
function cmp($a, $b) { return $a->baz - $b->baz; }
依照一個欄位進行初級排序(例如,「foo」)和另一個二次排序(例如, "baz"):
function cmp(array $a, array $b) { if (($cmp = strcmp($a['foo'], $b['foo'])) !== 0) { return $cmp; } else { return $a['baz'] - $b['baz']; } }
依特定順序排序(例如,"foo"、"bar"、"baz"):
function cmp(array $a, array $b) { static $order = array('foo', 'bar', 'baz'); return array_search($a['foo'], $order) - array_search($b['foo'], $order); }
根據一個數組對另一個數組進行排序另一種:
array_multisort($array1, $array2);
從PHP 5.5.0 開始,您可以使用array_column提取特定列並對數組進行相應排序:
array_multisort(array_column($array, 'foo'), SORT_DESC, $array);
以上是如何在 PHP 中對數組和資料進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!