arsort

関数の概要

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は配列の値を降順に並べ替えるための便利な関数です。キーと値の関係を保持したままソートできるため、連想配列の順位付けやランキング作成に役立ちます。用途に応じてソート方法を指定するオプションもあり、実務での配列操作に欠かせない関数です。