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