PHP array_multisort() 函数对多个数组或多维数组进行排序
array_multisort(array1,sorting order,sorting type,array2...);
array_multisort() 可以用来一次对多个数组进行排序,或者根据某一维或多维对多维数组进行排序。
关联(string)键名保持不变,但数字键名会被重新索引。
序号 | 参数及说明 |
---|---|
1 | array1(必填) 它指定一个数组 |
2 | sorting order(选填) 它指定排序顺序。可能的值-
|
3 | sorting type(选填) 比较元素时,它指定要使用的类型。可能的值:
|
4 | array2(选填) 它指定一个数组 |
成功,返回TRUE;失败,返回FALSE。
1、多个数组排序示例
<?php
$input1 = array("10", 100, 100, "a");
$input2 = array(1, 3, "2", 1);
array_multisort($input1, $input2);
print_r($input1);
print_r($input2);
?>
测试看看‹/›输出结果:
Array ( [0] => 10 [1] => a [2] => 100 [3] => 100 ) Array ( [0] => 1 [1] => 1 [2] => 2 [3] => 3 )
2、排序多维数组示例
<?php
$ar = array(
array("10", 11, 100, 100, "a"),
array( 1, 2, "2", 3, 1)
);
array_multisort($ar[0], SORT_ASC, SORT_STRING,
$ar[1], SORT_NUMERIC, SORT_DESC);
var_dump($ar);
?>
测试看看 ‹/›输出结果:
array(2) {
[0]=> array(5) {
[0]=> string(2) "10"
[1]=> int(100)
[2]=> int(100)
[3]=> int(11)
[4]=> string(1) "a"
}
[1]=> array(5) {
[0]=> int(1)
[1]=> int(3)
[2]=> string(1) "2"
[3]=> int(2)
[4]=> int(1)
}
}
3、不区分大小写字母排序数组
<?php
$array = array('Alpha', 'atomic', 'Beta', 'bank');
$array_lowercase = array_map('strtolower', $array);
array_multisort($array_lowercase, SORT_ASC, SORT_STRING, $array);
print_r($array);
?>
测试看看 ‹/›输出结果:
Array
(
[0] => Alpha
[1] => atomic
[2] => bank
[3] => Beta
)