arsort()

PHPのarsort()関数は、配列の要素を、値の降順で、並べ替える組み込み関数。

キーと値の相関関係を維持したまま、ソートする。

定義

論理型 arsort( 配列型 &$array[, 数値型 $sort_flags] );

パラメータ

配列型 &$array

並べ替える対象の配列を指定。

数値型 $sort_flags

オプション。

並べ替える際の、型の取り扱いに関するフラグ。

  • SORT_REGULAR: 型変換をしない、通常の比較。
  • SORT_NUMERIC: 数値として比較。
  • SORT_STRING: 文字列として比較。
  • SORT_LOCALE_STRING: ロカール環境に基づいた文字列比較。
  • SORT_NATURAL: 自然順比較。例えば、「a10」と「a5」を自然な降順で並べると「a10,a5」になる。PHP5.4.0で追加されたパラメータ。
  • SORT_FLAG_CASE: 大文字、小文字を区別しない、文字列比較。「SORT_STRING」や「SORT_NATURAL」と、|で組み合わせて使う。PHP5.4.0で追加されたパラメータ。

戻り値

論理値。

並べ替えに成功すると「TRUE」、失敗すると「FALSE」を返す。

構文

配列要素を、値の降順でソート

論理値 = arsort( 配列 );

「配列」の要素を、値の降順で、並べ替える。

配列要素を、値の自然な降順でソート

論理値 = arsort( 配列, SORT_NATURAL );

「配列」の要素を、値の自然順比較の降順で、並べ替える。

例えば、「a10」と「a5」を自然順比較の降順で並べると「a10,a5」になる。

サンプル

配列の要素を、値の降順でソート

<pre>
<?php
$varArray = array( "White", "Black", "Red", "Blue", "Green" );
arsort( $varArray );
print_r( $varArray );
?>
</pre>

↓↓↓出力結果↓↓↓

Array
(
    [0] => White
    [2] => Red
    [4] => Green
    [3] => Blue
    [1] => Black
)

キーと値の相関関係は、維持したままである点に、注目。

配列の要素を、値の降順でソート(通常と自然順)

<pre>
<?php
$varArray = array( "a2", "a10", "a7", "a500", "a70" );
echo '通常の降順ソート<br />';
arsort( $varArray );
print_r( $varArray );
echo '自然な降順ソート<br />';
arsort( $varArray, SORT_NATURAL );
print_r( $varArray );
?>
</pre>

↓↓↓出力結果↓↓↓

通常の降順ソート
Array
(
    [4] => a70
    [2] => a7
    [3] => a500
    [0] => a2
    [1] => a10
)
自然な降順ソート
Array
(
    [3] => a500
    [4] => a70
    [1] => a10
    [2] => a7
    [0] => a2
)

キーと値の相関関係は、維持したままである点に、注目。

連想配列の要素を、値の降順でソート

<pre>
<?php
$varArray = array(
    "a" => "White",
    "b" => "Black",
    "c" => "Red",
    "d" => "Blue",
    "e" => "Green"
);
arsort( $varArray );
print_r( $varArray );
?>
</pre>

↓↓↓出力結果↓↓↓

Array
(
    [a] => White
    [c] => Red
    [e] => Green
    [d] => Blue
    [b] => Black
)

キーと値の相関関係は、維持したままである点に、注目。

多次元配列の要素を、値の降順でソート

<pre>
<?php
$varArray = array(
    "english" => array( "Red", "Blue", "Green" ),
    "katakana" => array( "レッド", "ブルー", "グリーン" ),
    "kanji" => array(
        "aka" => "赤",
        "ao" => "青",
        "ki" => "緑"
    ),
    "hiragana" => array( "あか", "あお", "みどり" )
);
arsort( $varArray );
print_r( $varArray );
?>
</pre>

↓↓↓出力結果↓↓↓

Array
(
    [kanji] => Array
        (
            [aka] => 赤
            [ao] => 青
            [ki] => 緑
        )

    [katakana] => Array
        (
            [0] => レッド
            [1] => ブルー
            [2] => グリーン
        )

    [hiragana] => Array
        (
            [0] => あか
            [1] => あお
            [2] => みどり
        )

    [english] => Array
        (
            [0] => Red
            [1] => Blue
            [2] => Green
        )

)

キーと値の相関関係は、維持したままである点に、注目。

スポンサード リンク

カテゴリー: PHP, ソート, 組み込み関数, 配列 タグ: パーマリンク