PHP array_multisort() 函数
说明
array_multisort()
函数一次对多个数组或多维数组进行一维或多维排序。 排序就像数组是表中的列一样进行。
关联键或字符串键将被保留,但数字键将被重新索引。
下表总结了该函数的技术细节。
返回值: | 成功返回TRUE ,失败返回FALSE 。 |
---|---|
变更日志: |
在 PHP 5.4.0 中添加了排序标志 在 PHP 5.3.0 中添加了排序标志
SORT_LOCALE_STRING |
版本: | PHP 4+ |
语法
array_multisort()
函数的基本语法如下:
array_multisort(array1, array1_sort_order, array1_sort_flags, ...)
下面的例子展示了 array_multisort()
函数的作用。
<?php
// 样本数组
$array1 = array(2, 7, 10, 5);
$array2 = array(4, 3, 1, 2);
// 对多个数组进行排序
array_multisort($array1, $array2);
print_r($array1);
print_r($array2);
?>
提示:第一个数组是主要的排序依据; 其他数组中的所有项目都根据第一个数组的排序顺序重新排序(即,数组被视为表的列)。 如果第一个数组中的项目比较相等,则排序顺序由第二个数组确定,依此类推。
在上面的示例中,排序后的第一个数组将包含 2、5、7、10,第二个数组将包含 4、2、3、1。请注意,第二个数组中的条目对应于第一个数组中的条目。 为了更好地理解这一点,让我们仔细看看下面的插图。
array1 | array2 --------+-------- 2 | 4 7 | 3 10 | 1 5 | 2 |
array1 | array2 --------+-------- 2 | 4 5 | 2 7 | 3 10 | 1 |
|
Before Sorting | After Sorting |
参数
array_multisort()
函数接受以下参数。
参数 | 说明 |
---|---|
array1 | 必填。 指定要排序的数组。 |
array1_sort_order |
可选。 指定排序顺序。 可能的值是:
|
array1_sort_flags |
可选。 指定应如何比较数组项。 可能的值是:
|
... | 可选。 指定要排序的更多数组,可选地后跟排序顺序和标志。 仅比较与先前数组中等效元素相对应的元素。 |
更多示例
这里有更多示例展示了 array_multisort()
函数的基本工作原理:
以下示例展示了如何使用此函数对多维数组进行排序。
<?php
// 样本数组
$array = array(
array("10", 11, 100, 100, "a"),
array(1, 4, "2", 5, 3)
);
// 对多维数组进行排序
array_multisort($array[0], SORT_STRING, $array[1], SORT_DESC, SORT_NUMERIC);
print_r($array);
?>
Advertisements