rsort()

1. 定义

该函数对数组的键值进行降序排序。 成功时返回TRUE,失败则返回FALSE。

注:

  • 排序时该函数会删除所有的键名,重新使用数字索引作为键名

2. 语法

rsort ( array &$array [, int $sort_flags = SORT_REGULAR ] ) : bool

3. 参数说明

参数 可选性 数据类型 描述
$array 必需 数组 待降序排序的数组
$sort_flags 可选 整型或常量 排序比较规则

其中,$sort_flags有以下几个可选值:

  • SORT_REGULAR:默认值,常规比较,不改变值类型
  • SORT_NUMERIC:将数组元素当做数字比较
  • SORT_STRING:将数组元素当做字符串比较
  • SORT_LOCALE_STRING:根据当前的区域设置将数组元素当做字符串比较
  • SORT_NATURAL:与函数natsort()类似,数组元素被当做字符串,以自然顺序进行比较排序
  • SORT_FLAG_CASE:不区分大小写比较,可与常量SORT_STRINGSORT_NATURAL使用OR关键字进行联合使用

4. 示例

<?php

// rsort()
// 对数组进行逆向排序

$arr = [1, 5, 43, 76, 32, 0];

// 排序后
sort($arr);
var_dump($arr);
/* 输出:
array(6) {
  [0]=>
  int(0)
  [1]=>
  int(1)
  [2]=>
  int(5)
  [3]=>
  int(32)
  [4]=>
  int(43)
  [5]=>
  int(76)
}
*/

// 逆向排序
rsort($arr);
var_dump($arr);
/* 输出:
array(6) {
  [0]=>
  int(76)
  [1]=>
  int(43)
  [2]=>
  int(32)
  [3]=>
  int(5)
  [4]=>
  int(1)
  [5]=>
  int(0)
}
*/

$arr = ['name'=>'极速教程', 'host'=>'https://www.jisuapi.com/', 'number'=>'18888888888'];

// 排序后
sort($arr);
var_dump($arr);
/* 输出:
array(3) {
  [0]=>
  string(11) "18888888888"
  [1]=>
  string(24) "https://www.jisuapi.com/"
  [2]=>
  string(12) "极速教程"
}
*/

// 逆向排序
rsort($arr);
var_dump($arr);
/* 输出:
array(3) {
  [0]=>
  string(12) "极速教程"
  [1]=>
  string(24) "https://www.jisuapi.com/"
  [2]=>
  string(11) "18888888888"
}
*/

5. 延展阅读

  • arsort():对数组的键值进行降序排序,并保持索引关系
  • krsort():对数组的键名(key)进行降序排序