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 函數排序後通過數組索引取第一個元素不一定是期望的值。

rss_feed