PHPのrsort()関数とは?配列を降順にソートする方法を解説
rsort()関数とは
rsort()関数は、PHPの組み込み関数の一つで、配列の要素を降順(大きい順)に並べ替えます。この関数は元の配列そのものを直接変更し、成功した場合はTRUE、失敗した場合はFALSEを返します。
なお、rsort()はキーと値の対応関係を保持しないため、ソート後の配列はキーが0から順に振り直される点に注意してください。
構文
rsort(arr, flag)
パラメータ
arr − ソート対象となる配列を指定します。
flag − 要素の比較方法を指定するオプションのパラメータです。省略可能です。
flagに指定できる主な値は以下の通りです。
0 = SORT_REGULAR(デフォルト)− 通常の方法で要素を比較します。型は変更されません。
1 = SORT_NUMERIC − 要素を数値として比較します。
2 = SORT_STRING − 要素を文字列として比較します。
3 = SORT_LOCALE_STRING − 現在のロケールに基づいて、要素を文字列として比較します。
4 = SORT_NATURAL − 自然順序付け(人間が直感的に理解できる順序)で文字列として比較します。
SORT_FLAG_CASE −
SORT_STRINGやSORT_NATURALと組み合わせることで、大文字・小文字を区別せずに比較できます。
戻り値
rsort()関数は、ソートに成功した場合にTRUE、失敗した場合にFALSEを返します。
使用例1:数値配列の降順ソート
以下は、数値の配列をrsort()で降順に並べ替える基本的な例です。
<?php $arr = array(30, 12, 76, 98, 45, 78); rsort($arr); print_r($arr); ?>
出力
Array
(
[0] => 98
[1] => 78
[2] => 76
[3] => 45
[4] => 30
[5] => 12
)最大値の98から最小値の12まで、降順に正しく並べ替えられていることがわかります。
使用例2:文字列配列の降順ソート
SORT_STRINGフラグを指定すると、要素を文字列として比較しソートできます。
<?php
$arr = array("Tim", "Peter", "Anne", "Jacob", "Vera");
rsort($arr, SORT_STRING);
print_r($arr);
?>出力
Array
(
[0] => Vera
[1] => Tim
[2] => Peter
[3] => Jacob
[4] => Anne
)アルファベット順の逆順(Z→A)に名前が並び替えられています。
まとめ:関連するソート関数
rsort()は配列を降順にソートする際に便利な関数です。用途に応じて、以下の関連関数も活用するとよいでしょう。
sort() − 配列を昇順にソートします。
asort() / arsort() − キーと値の関係を保持したまま、それぞれ昇順・降順にソートします。
usort() − ユーザー定義の比較関数を使って自由にソートします。
-
PHPのarray_reverse()関数の使い方を解説!配列を逆順にする方法
PHPのarray_reverse()関数は、配列の要素を逆順に並べ替えた新しい配列を返す関数です。元の配列は変更されず、要素の順序が反転した結果のみを受け取ることができます。構文array_reverse(arr, preservekey)パラメータarr − 逆順にしたい対象の配列を指定します。preservekey − 配列のキーを保持するかどうかを指定します。TRUEまたはFALSEの値を取ります。省略した場合(デフォルトはFALSE)は、キーが振り直され数値キー(0、1、2…)になります。TRUEを指定すると、元のキーと値の対応関係がそのまま維持されます。戻り値array_rever
-
PHPのarray()関数とは?配列の作成方法をわかりやすく解説
PHPのarray()関数は、配列を作成するための関数です。PHPにおける配列には、主に以下の3種類が存在します。インデックス配列 − 数値インデックス(0から始まる番号)で要素を管理する配列連想配列 − 文字列などの名前付きキーで要素を管理する配列多次元配列 − 配列の中に1つ以上の配列を含む、入れ子構造の配列構文// 数値インデックスを持つ配列(インデックス配列) array(value1, value2, ...); // 名前付きキーを持つ配列(連想配列) array(key1 => value1, key2 => value2, ...)パラメータvalue − 配列に