PHP rsort():陣列排序(降序)

2020-07-16 10:05:13
PHP rsort() 函數用來對陣列元素進行降序排序,也就是從高到低排序。

sort() 和 rsort() 的功能相反,sort() 會對陣列元素進行升序排序。

rsort() 語法如下:

bool rsort ( array &$arr [, int $sort_mode = SORT_REGULAR ] )

引數說明:
  • arr 是要排序的陣列。
  • sort_mode 表示排序模式,是一個可選引數。sort_mode 可以使用如下的值:
    • SORT_REGULAR:正常比較元素,不改變元素的型別(預設值)。
    • SORT_NUMERIC:元素被作為數位來比較。
    • SORT_STRING:元素被作為字串來比較。
    • SORT_LOCALE_STRING:根據當前的區域(locale)設定把元素當作字串比較,可以用 setlocale() 來改變。
    • SORT_NATURAL:和 natsort() 類似,對每個元素以“自然的順序”對字串進行排序,是 PHP 5.4.0 中新增的一個引數。
    • SORT_FLAG_CASE:能夠與 SORT_STRING 或 SORT_NATURAL 合併(OR 位運算),不區分大小寫排序字串。

sort() 函數呼叫結束後, arr 陣列元素會按照從高到低的順序重新排列。

返回值:排序成功返回 TRUE,失敗返回 FALSE。

與陣列排序相關的函數
函數 說明
sort() 對陣列元素進行升序排序(從小到大)。
rsort() 對陣列元素進行降序排序(從大到小)。
asort() 對陣列元素進行升序排序(從小到大),並保持索引關係。
arsort() 對陣列元素進行降序排序(從大到小),並保持索引關係。
shuffle() 對陣列元素進行隨機排序,也就是隨機打亂陣列。

【範例】rsort() 和 sort() 的對比:
<?php
$info = array(
    "url" => "http://c.biancheng.net/php/",
    "language" => "PHP",
    "update" => "2019-10-29",
    "author" => "changsheng yan"
);
$info_copy = $info;
sort($info, SORT_STRING);
print_r($info);
rsort($info_copy, SORT_STRING);
print_r($info_copy);
?>
執行以上程式的輸出結果為:

Array
(
    [0] => 2019-10-29
    [1] => PHP
    [2] => changsheng yan
    [3] => http://c.biancheng.net/php/
)
Array
(
    [0] => http://c.biancheng.net/php/
    [1] => changsheng yan
    [2] => PHP
    [3] => 2019-10-29
)