PHP:数组函数 arsort 按值降序排序

Lasted 2020-01-12 11:03:26

arsort 函数对数组进行按值由高到低(逆序、降序)排序并保持索引关系。

rsort 函数排序类似,最大的区别是 arsort 函数会保持索引关系,而 rsort 会生成新索引。

说明

arsort ( 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(
  "d" => "lemon", 
  "a" => "orange", 
  "b" => "banana", 
  "c" => "apple"
);
arsort($fruits);

print_r($fruits);
?>
Array
(
    [a] => orange
    [d] => lemon
    [b] => banana
    [c] => apple
)

与 rsort 函数比较

<?php
$fruits = array(
  "d" => "lemon", 
  "a" => "orange", 
  "b" => "banana", 
  "c" => "apple"
);
rsort($fruits);

print_r($fruits);
Array
(
    [0] => orange
    [1] => lemon
    [2] => banana
    [3] => apple
)

由输出结果比较能看出,rsort 函数排序后数组索引发生变化。