温馨提示×

php中array_multisort的参数设置

PHP
小樊
81
2024-09-06 01:09:03
栏目: 编程语言

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 数组中的键(姓名)仍然保持关联。

0