PHP array_multisort()
定义和用法
array_multisort() 函数对多个数组或多维数组进行排序。
参数中的数组被当成一个表的列并以行来进行排序 - 这类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。
第一个参数是数组,随后的每一个参数可能是数组,也可能是下面的排序顺序标志(排序标志用于更改默认的排列顺序)之一:
- SORT_ASC - 默认,按升序排列。(A-Z)
- SORT_DESC - 按降序排列。(Z-A)
随后可以指定排序的类型:
语法
array_multisort(array1,sorting order,sorting type,array2,array3...)
参数 | 描述 |
array1 | 必需。规定输入的数组。 |
sorting order | 可选。规定排列顺序。可能的值是 SORT_ASC 和 SORT_DESC。 |
sorting type | 可选。规定排序类型。可能的值是SORT_REGULAR、SORT_NUMERIC和SORT_STRING。 |
array2 | 可选。规定输入的数组。 |
array3 | 可选。规定输入的数组。 |
例子 2
当两个值相同时如何排序:
<?php $a1 = array("Dog","Dog","Cat"); $a2 = array("Pluto","Fido","Missy"); array_multisort($a1,$a2);print_r($a1);print_r($a2); ?>
输出:
1 Array ( [0] => Cat [1] => Dog [2] => Dog )Array ( [0] => Missy [1] => Fido [2] => Pluto )
例子 3
带有排序参数:
<?php $a1 = array("Dog","Dog","Cat"); $a2 = array("Pluto","Fido","Missy"); array_multisort($a1,SORT_ASC,$a2,SORT_DESC); print_r($a1);print_r($a2); ?>
输出:
Array ( [0] => Cat [1] => Dog [2] => Dog )Array ( [0] => Missy [1] => Pluto [2] => Fido )