php中array_multisort的參數(shù)設(shè)置

PHP
小樊
81
2024-09-06 01:09:03

array_multisort() 函數(shù)用于對(duì)多個(gè)數(shù)組或多維數(shù)組進(jìn)行排序。這個(gè)函數(shù)可以一次為一個(gè)或多個(gè)數(shù)組排序,同時(shí)保留原始數(shù)組中鍵和值之間的關(guān)聯(lián)。array_multisort() 函數(shù)的語(yǔ)法如下:

bool array_multisort ( array &$array1 [, mixed $array1_sort_order = SORT_ASC [, mixed $array1_sort_flags = SORT_REGULAR [, array &$... ]]] )

參數(shù)說(shuō)明:

  • $array1, $array2, … : 要排序的數(shù)組,可以有多個(gè)數(shù)組。
  • $array1_sort_order: 可選參數(shù),指定排序順序。默認(rèn)值為 SORT_ASC(升序),也可以使用 SORT_DESC(降序)。
  • $array1_sort_flags: 可選參數(shù),指定排序類型。默認(rèn)值為 SORT_REGULAR,表示正常比較。其他可能的值包括:
    • SORT_NUMERIC:數(shù)字比較
    • SORT_STRING:字符串比較
    • SORT_NATURAL:自然順序比較(不區(qū)分大小寫)
    • SORT_FLAG_CASE:與 SORT_STRING 結(jié)合使用,按照字母順序排序,不區(qū)分大小寫

示例:

<?php
// 示例數(shù)組
$age = array("Peter"=>35, "Ben"=>37, "Joe"=>43);
$city = array("Peter"=>"New York", "Ben"=>"Chicago", "Joe"=>"San Francisco");

// 根據(jù)年齡升序排列,如果年齡相同,則根據(jù)城市名稱排序
array_multisort($age, SORT_ASC, SORT_NUMERIC, $city, SORT_ASC, SORT_STRING);

// 打印排序后的數(shù)組
print_r($age);
print_r($city);
?>

輸出結(jié)果:

Array
(
    [Peter] => 35
    [Ben] => 37
    [Joe] => 43
)
Array
(
    [Peter] => New York
    [Ben] => Chicago
    [Joe] => San Francisco
)

在這個(gè)示例中,我們首先根據(jù) $age 數(shù)組進(jìn)行升序排序,然后根據(jù) $city 數(shù)組進(jìn)行升序排序。注意,$age$city 數(shù)組中的鍵(姓名)仍然保持關(guān)聯(lián)。

0