PHP:数组排序函数 rsort 对数组降序排序
最近更新时间 2020-01-12 10:48:24
rsort 函数对数组进行按值由高到低(降序)排序。
功能跟 arsort 函数类似,最大的区别在于,arsort 函数会保留索引关系,而 rsort 函数会重新生成索引关系,详见范例。
说明
rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool
- array
- 输入的数组。
- sort_flags
- 可选的参数 sort_flags 改变排序的行为。
- SORT_REGULAR - 正常比较单元(不改变类型)。
- SORT_NUMERIC - 单元被作为数字来比较。
- SORT_STRING - 单元被作为字符串来比较。
- SORT_LOCALE_STRING - 。
- SORT_NATURAL - 。
- SORT_FLAG_CASE - 。
范例
<?php
$fruits = array("lemon", "orange", "banana", "apple");
rsort($fruits);
print_r($fruits);
Array ( [0] => orange [1] => lemon [2] => banana [3] => apple )
与 arsort 函数比较
<?php
$fruits = array("lemon", "orange", "banana", "apple");
asort($fruits);
print_r($fruits);
Array ( [1] => orange [0] => lemon [2] => banana [3] => apple )
输出结果显示,rsort 函数排序后数组的索引发生变化,而 arsort 函数保持原索引关系。所以如果使用 arsort 函数排序后通过数组索引取第一个元素不一定是期望的值。