rsort

関数の概要

PHPの rsort 関数は、配列の要素を降順(大きい順)に並び替えるための関数です。数値や文字列の配列に対して利用でき、配列自体を直接変更します。配列要素を逆の順序で簡単に整列したい場合に便利です。

パラメータの説明

  • array (参照渡し): 並び替えたい配列を指定します。配列は関数内で直接変更されます。
  • sort_flags (省略可能): 並び替えの方法を指定する定数です。指定しなければ標準の文字コード順または数値順で比較されます。主な指定値は以下の通りです。
    • SORT_REGULAR (デフォルト): 通常の比較方法
    • SORT_NUMERIC: 数値として比較
    • SORT_STRING: 文字列として比較
    • SORT_LOCALE_STRING: ロケールを考慮した文字列比較

戻り値

成功した場合は true を返します。失敗した場合は false を返しますが、通常は正しい配列を渡せば失敗しません。

使用例

基本的な使い方

<?php
$numbers = [3, 5, 1, 4, 2];
rsort($numbers);
print_r($numbers);
?>

この例では数字の配列を rsort で降順に並び替えています。結果は [5, 4, 3, 2, 1] となります。

文字列の配列を降順に並び替える

<?php
$fruits = ['banana', 'apple', 'orange', 'grape'];
rsort($fruits);
print_r($fruits);
?>

文字列の配列も rsort で降順に整列されます。英単語の辞書順で逆順に並び替えた結果になります。

SORT_NUMERIC を使った数値の降順ソート

<?php
$values = ['10', '2', '30', '22', '5'];
rsort($values, SORT_NUMERIC);
print_r($values);
?>

文字列として扱うと辞書順でおかしな順になる場合でも、SORT_NUMERICを指定すれば正確な数値の降順に並び替えられます。

関連する関数

  • sort: 配列を昇順に並び替える
  • asort: 配列の値を維持したまま値で昇順にソート
  • arsort: 配列の値を維持したまま値で降順にソート
  • ksort: キーを昇順にソート
  • krsort: キーを降順にソート

まとめ

rsort はPHPで配列の要素を簡単に降順に並び替えるときに使う関数です。元の配列を直接変更するので、使いやすく実務でもよく利用されます。数値や文字列の配列に対応しており、比較方法を指定するパラメータもあります。昇順にしたい場合は sort を使い、キーを基準にしたい場合は krsort などの関数と使い分けると良いでしょう。