関数の概要
arsortはPHPの配列操作関数で、配列の値を基準にして降順(大きい順)にソートします。特徴として、キーと値の関係を保持したままソートされるため、元のキーが重要な場合に便利です。特に連想配列でよく使われます。
パラメータの説明
array:ソート対象の配列(参照渡し)。この配列自体が並び替えられます。sort_flags(省略可能):ソート方法を指定する定数。以下の指定が可能です。SORT_REGULAR(デフォルト): 通常の比較。SORT_NUMERIC:数値として比較。SORT_STRING:文字列として比較。SORT_LOCALE_STRING:ロケール設定に基づく文字列比較。
戻り値
成功すると true、失敗すると false を返します。配列自体は参照渡しされているため、呼び出し元に反映されます。
使用例
基本的な使い方
<?php
$data = [
"apple" => 3,
"banana" => 1,
"cherry" => 4,
"date" => 2
];
arsort($data);
print_r($data);
?>
値が大きい順に配列が並び替えられ、キー(フルーツ名)はそのまま保持されます。出力は以下の通りです。
Array
(
[cherry] => 4
[apple] => 3
2026/03/10 => 2
[banana] => 1
)
文字列の数値として降順にソートする例
<?php
$data = [
"a" => "20",
"b" => "100",
"c" => "3"
];
arsort($data, SORT_NUMERIC);
print_r($data);
?>
文字列でも数値として比較することで、値100が最初に来るようにソートされます。
文字列として辞書順に降順ソートする例
<?php
$data = [
"x" => "apple",
"y" => "banana",
"z" => "cherry"
];
arsort($data, SORT_STRING);
print_r($data);
?>
文字列を辞書順で比較し、降順になります。つまり「cherry」「banana」「apple」の順に並びます。
関連する関数
asort:値で昇順ソートし、キーを保持するksort:キーで昇順ソートするkrsort:キーで降順ソートするsort:配列の値を昇順にソートし、キーを再構築する
まとめ
arsortは配列の値を降順に並べ替えるための便利な関数です。キーと値の関係を保持したままソートできるため、連想配列の順位付けやランキング作成に役立ちます。用途に応じてソート方法を指定するオプションもあり、実務での配列操作に欠かせない関数です。
