PHPのasort()関数の使い方をわかりやすく解説
PHPのasort()関数は、連想配列を値に基づいて昇順にソートし、キーと値の関連性(インデックスの対応関係)を保持したまま並べ替えを行う関数です。通常のsort()関数と異なり、ソート後も元のキーがそのまま維持されるため、連想配列の取り扱いに非常に便利です。
構文
asort(arr, compare)
パラメータ
arr − ソート対象となる配列を指定します。
compare − 配列要素の比較方法を指定します(省略可能)。指定できる値は以下の通りです。
SORT_STRING − 要素を文字列として比較します
SORT_REGULAR − 型を変換せずに要素を通常の方法で比較します
SORT_NUMERIC − 要素を数値として比較します
SORT_LOCALE_STRING − 現在のロケールに基づいて、要素を文字列として比較します
SORT_NATURAL − 自然順序付け(人間が読みやすい順序)を使用して、要素を文字列として比較します
戻り値
asort()関数は、ソートが成功した場合にTRUEを、失敗した場合にFALSEを返します。
使用例
以下は、asort()関数を使用して連想配列を値の昇順にソートする例です。
<?php
$a = array(
"0" => "India",
"1" => "Australia",
"2" => "England",
"3" => "Bangladesh",
"4" => "Zimbabwe",
);
asort($a);
foreach ($a as $key => $val) {
echo "[$key] = $val";
echo"\n";
}
?>出力結果
[1] = Australia [3] = Bangladesh [2] = England [0] = India [4] = Zimbabwe
出力結果を見ると、値がアルファベット順(昇順)に並べ替えられているのがわかります。同時に、元のキー(0〜4)と値の対応関係が保たれたまま出力されている点がasort()関数の大きな特徴です。
補足:関連するソート関数
asort()と似た動作をする関数として、以下のようなものがあります。用途に応じて使い分けましょう。
arsort() − 値に基づいて降順にソートし、キーの関連性を保持します
ksort() − キーに基づいて昇順にソートします
sort() − 値に基づいて昇順にソートしますが、キーの関連性は保持されず、キーは振り直されます
-
PHPのksort()関数とは?連想配列をキーで昇順ソートする方法を解説
PHPのksort()関数は、連想配列をキー(添字)に基づいて昇順に並べ替えるための関数です。ソートに成功した場合はTRUE、失敗した場合はFALSEを返します。キーと値の対応関係は維持されるため、連想配列の並べ替えに最適です。構文ksort(arr, flag)パラメータarr:並べ替えの対象となる配列を指定します。この配列は参照渡しで処理され、直接書き換えられます。flag:ソートの挙動を変更するためのオプションフラグです。省略可能で、以下の値を指定できます。0 = SORT_REGULAR:デフォルト値。型の変換を行わず、通常の方法で要素を比較します。1 = SORT_NUMERIC:要
-
PHPのarsort()関数の使い方:配列を降順ソートしてキーの関連性を保持する方法
arsort()関数とはarsort()関数は、配列を降順(逆順)にソートするPHPの組み込み関数です。最大の特徴は、ソート後もキーと値の関連性(インデックスの関連付け)が維持される点にあります。連想配列を値の大きい順に並べ替えたい場合に特に便利です。構文arsort(arr, compare)パラメータarr − ソート対象の配列を指定します。compare − 配列要素の比較方法を指定します(省略可能)。指定できる値は以下のとおりです。SORT_STRING − 要素を文字列として比較しますSORT_REGULAR − 型を変換せずに通常の方法で要素を比較しますSORT_NUMERIC −