array_multisort()
函數用于對多個數組或多維數組進行排序。這個函數可以一次為一個或多個數組排序,同時保留原始數組中鍵和值之間的關聯。array_multisort()
函數的語法如下:
bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, array &$... ]]] )
參數說明:
$array1
, $array2
, … : 要排序的數組,可以有多個數組。$array1_sort_order
: 可選參數,指定排序順序。默認值為 SORT_ASC
(升序),也可以使用 SORT_DESC
(降序)。$array1_sort_flags
: 可選參數,指定排序類型。默認值為 SORT_REGULAR
,表示正常比較。其他可能的值包括:
SORT_NUMERIC
:數字比較SORT_STRING
:字符串比較SORT_NATURAL
:自然順序比較(不區分大小寫)SORT_FLAG_CASE
:與 SORT_STRING
結合使用,按照字母順序排序,不區分大小寫示例:
<?php
// 示例數組
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
$city = array("Peter"=>"New York", "Ben"=>"Chicago", "Joe"=>"San Francisco");
// 根據年齡升序排列,如果年齡相同,則根據城市名稱排序
array_multisort($age, SORT_ASC, SORT_NUMERIC, $city, SORT_ASC, SORT_STRING);
// 打印排序后的數組
print_r($age);
print_r($city);
?>
輸出結果:
Array
(
[Peter] => 35
[Ben] => 37
[Joe] => 43
)
Array
(
[Peter] => New York
[Ben] => Chicago
[Joe] => San Francisco
)
在這個示例中,我們首先根據 $age
數組進行升序排序,然后根據 $city
數組進行升序排序。注意,$age
和 $city
數組中的鍵(姓名)仍然保持關聯。