PHP 中的 array_multisort() 函数

phpprogrammingserver side programming

array_multisort() 函数对多个或多维数组进行排序。它返回一个排序后的数组。

语法

array_multisort(arr1, sort_order, sort_type, arr2, arr3, arr4...)

参数

  • arr1 − 要排序的数组

  • sort_order − 排序顺序。以下是可能的值

    • - SORT_ASC - 默认。按升序排序(A-Z)

    • - SORT_DESC - 按降序排序(Z-A)

  • sort_type − 排序行为。以下是可能的值

    • SORT_REGULAR - 默认。正常比较元素(标准 ASCII)

    • SORT_NUMERIC - 将元素作为数值进行比较

    • SORT_STRING - 将元素作为字符串值进行比较

    • SORT_LOCALE_STRING - 根据当前语言环境将元素作为字符串进行比较(可以使用 setlocale() 进行更改)

    • SORT_NATURAL - 使用"自然排序"将元素作为字符串进行比较类似 natsort()

    • SORT_FLAG_CASE - 可以与 SORT_STRING 或 SORT_NATURAL 组合(按位或)以不区分大小写的方式对字符串进行排序。

  • arr2 − 另一个数组。可选

  • arr3 − 另一个数组。可选。

  • arr4 − 另一个数组。可选。

返回

array_multisort() 函数返回一个已排序的数组。

示例

<?php
$a1 = array(12, 55, 3, 9, 99);
$a2 = array(44, 67, 22, 78, 46);
array_multisort($a1,$a2);
print_r($a1);
print_r($a2);
?>

输出

Array
(
[0] => 3
[1] => 9
[2] => 12
[3] => 55
[4] => 99
)
Array
(
[0] => 22
[1] => 78
[2] => 44
[3] => 67
[4] => 46
)

示例

让我们看另一个合并两个数组并按升序排序的例子。

<?php
$a1 = array(12, 55, 3, 9, 99);
$a2 = array(44, 67, 22, 78, 46);
$num = array_merge($a1,$a2);
array_multisort($num,SORT_ASC,SORT_NUMERIC);
print_r($num);
?>

输出

Array
(
[0] => 3
[1] => 9
[2] => 12
[3] => 22
[4] => 44
[5] => 46
[6] => 55
[7] => 67
[8] => 78
[9] => 99
)

相关文章