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 )