PHP 中的 array_multisort() 函数

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

语法

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

参数

  • arr1 -要排序的数组

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

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

    • - SORT_DESC - 按降序排序 (ZA)

  • 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
)