以多個字段值對多維數組進行排序
在PHP 中,可以使用array_multisort() 來完成按多個字段值對多維數組進行排序。
考慮以下事項array:
$data = [ [ "destination" => "Sydney", "airlines" => "airline_1", "one_way_fare" => 100, "return_fare" => 300 ], [ "destination" => "Sydney", "airlines" => "airline_2", "one_way_fare" => 150, "return_fare" => 350 ], [ "destination" => "Sydney", "airlines" => "airline_3", "one_way_fare" => 180, "return_fare" => 380 ] ];
要按return_fare 升序和one_way_fare 昇序對數組進行排序,請使用array_multisort():
// Extract specific fields into individual arrays $return_fare = array_column($data, 'return_fare'); $one_way_fare = array_column($data, 'one_way_fare'); // Sort arrays using multiple criteria array_multisort($return_fare, SORT_ASC, $one_way_fare, SORT_ASC, $data); // Print sorted array print_r($data);
array_multisort(array_column($data, 'return_fare'), SORT_ASC, array_column($data, 'one_way_fare'), SORT_ASC, $data);替代方法:array_orderby()函數: 對於簡潔的解決方案,請考慮使用 array_orderby() 函數,它提供了 array_multisort() 的包裝器。 **array_column() 和 array_multisort()**:避免迭代數組,在排序之前使用 array_column()` 提取特定字段值。
以上是如何按多個欄位對多維 PHP 陣列進行排序?的詳細內容。更多資訊請關注PHP中文網其他相關文章!