-
01月09日
-
【函数功能】
可以输入一个或多个数组。函数先对第一个数组进行排序,接着是其他数组,如果两个或多个值相同,它将对下一个数组进行排序。
【函数语法】
array_multisort (array &$array1, $array1_sort_order = null, $array1_sort_flags = null, $_ = null)
【参数说明】
参数 描述 $array1 必需。规定数组。 $array1_sort_order 可选。规定排列顺序。可能的值:
- SORT_ASC - 默认。按升序排列 (A-Z)。
- SORT_DESC - 按降序排列 (Z-A)。
$arrsy1_sort_flags 可选。规定排序类型。可能的值:
- SORT_REGULAR - 默认。把每一项按常规顺序排列(Standard ASCII,不改变类型)。
- SORT_NUMERIC - 把每一项作为数字来处理。
- SORT_STRING - 把每一项作为字符串来处理。
- SORT_LOCALE_STRING - 把每一项作为字符串来处理,基于当前区域设置(可通过 setlocale() 进行更改)。
- SORT_NATURAL - 把每一项作为字符串来处理,使用类似 natsort() 的自然排序。
- SORT_FLAG_CASE - 可以结合(按位或)SORT_STRING 或 SORT_NATURAL 对字符串进行排序,不区分大小写。
$_ 可选。规定数组。 【演示程序】
<?php /** * array_multisort (array &$array1, $array1_sort_order = null, $array1_sort_flags = null, $_ = null) * **/ $array1 = array('a'=>6,1,3,5); $array2 = array('b'=>2,1,9,7); array_multisort($array1,$array2 ); print_r($array1); echo '<br>'; print_r($array2); $array = array($array1,$array2); array_multisort($array); echo '<br>'; print_r($array); ?>
【输出结果】
Array ( [0] => 1 [1] => 3 [2] => 5 [a] => 6 ) Array ( [0] => 1 [1] => 9 [2] => 7 [b] => 2 ) Array ( [0] => Array ( [0] => 1 [1] => 3 [2] => 5 [a] => 6 ) [1] => Array ( [0] => 1 [1] => 9 [2] => 7 [b] => 2 ) )
【特别注意】
1.字符串键名将被保留,但是数字键名将被重新索引,从 0 开始,并以 1 递增。 2.可以在每个数组后设置排序顺序和排序类型参数。如果没有设置,每个数组参数会使用默认值。 3.参数中的数组被当成一个表的列并以行来进行排序,类似 SQL 的 ORDER BY 子句的功能。第一个数组是要排序的主要数组。数组中的行(值)比较为相同的话,就会按照下一个输入数组中相应值的大小进行排序,依此类推。 例如:array1=array(6,2,3),array2=array(1,0,4), 6 1 2 0 3 4 按照这样的对应关系,6对应1.2对应0,3对应4,如此一来,第一个数组排序完是2,3,6,则第二个数组是0,4,1
【原版定义】
/** * Sort multiple or multi-dimensional arrays * @link http://www.php.net/manual/en/function.array-multisort.php * @param array1 array <p> * An array being sorted. * </p> * @param array1_sort_order mixed[optional] <p> * The order used to sort the previous array argument. Either * SORT_ASC to sort ascendingly or SORT_DESC * to sort descendingly. * </p> * <p> * This argument can be swapped with array1_sort_flags * or omitted entirely, in which case SORT_ASC is assumed. * </p> * @param array1_sort_flags mixed[optional] <p> * Sort options for the previous array argument: * </p> * <p> * Sorting type flags: * SORT_REGULAR - compare items normally * (don't change types) * @param _ mixed[optional] * @return bool Returns true on success or false on failure. */
转载请注明出处:php1234.cn ,原文地址:http://www.php1234.cn/a/functions/2017/0109/180.html