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 )