PHPのksort()関数とは?連想配列をキーで昇順ソートする方法を解説
PHPのksort()関数は、連想配列をキー(添字)に基づいて昇順に並べ替えるための関数です。ソートに成功した場合はTRUE、失敗した場合はFALSEを返します。キーと値の対応関係は維持されるため、連想配列の並べ替えに最適です。
構文
ksort(arr, flag)
パラメータ
arr:並べ替えの対象となる配列を指定します。この配列は参照渡しで処理され、直接書き換えられます。
flag:ソートの挙動を変更するためのオプションフラグです。省略可能で、以下の値を指定できます。
0 = SORT_REGULAR:デフォルト値。型の変換を行わず、通常の方法で要素を比較します。
1 = SORT_NUMERIC:要素を数値として比較します。
2 = SORT_STRING:要素を文字列として比較します。
3 = SORT_LOCALE_STRING:現在のロケール設定に基づいて、要素を文字列として比較します。
4 = SORT_NATURAL:自然順序付けアルゴリズムを用いて、要素を文字列として比較します。
戻り値
ksort()関数は、ソートに成功した場合はTRUE、失敗した場合はFALSEを返します。戻り値ではなく配列そのものが更新される点に注意してください。
使用例
次のコードは、ksort()関数を使って連想配列をキーの昇順に並べ替える例です。
<?php
$product = array("headphone"=>"10", "mouse"=>"24", "pendrive"=>"13");
ksort($product);
foreach ($product as $key => $val) {
echo "$key = $val\n";
}
?>
出力結果
実行すると、キーがアルファベット順(headphone → mouse → pendrive)に並べ替えられて出力されます。
headphone = 10
mouse = 24
pendrive = 13
補足:関連するソート関数
キーを基準に降順で並べ替えたい場合はkrsort()、値を基準に昇順・降順で並べ替えたい場合はそれぞれasort()やarsort()を使用します。目的に応じて適切なソート関数を選ぶことで、コードをより簡潔に記述できます。
-
PHPのasort()関数の使い方をわかりやすく解説
PHPのasort()関数は、連想配列を値に基づいて昇順にソートし、キーと値の関連性(インデックスの対応関係)を保持したまま並べ替えを行う関数です。通常のsort()関数と異なり、ソート後も元のキーがそのまま維持されるため、連想配列の取り扱いに非常に便利です。構文asort(arr, compare)パラメータarr − ソート対象となる配列を指定します。compare − 配列要素の比較方法を指定します(省略可能)。指定できる値は以下の通りです。SORT_STRING − 要素を文字列として比較しますSORT_REGULAR − 型を変換せずに要素を通常の方法で比較しますSORT_NUMER
-
PHPのarsort()関数の使い方:配列を降順ソートしてキーの関連性を保持する方法
arsort()関数とはarsort()関数は、配列を降順(逆順)にソートするPHPの組み込み関数です。最大の特徴は、ソート後もキーと値の関連性(インデックスの関連付け)が維持される点にあります。連想配列を値の大きい順に並べ替えたい場合に特に便利です。構文arsort(arr, compare)パラメータarr − ソート対象の配列を指定します。compare − 配列要素の比較方法を指定します(省略可能)。指定できる値は以下のとおりです。SORT_STRING − 要素を文字列として比較しますSORT_REGULAR − 型を変換せずに通常の方法で要素を比較しますSORT_NUMERIC −