PHP
 Computer >> コンピューター >  >> プログラミング >> PHP

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()を使用します。目的に応じて適切なソート関数を選ぶことで、コードをより簡潔に記述できます。

  1. PHPのasort()関数の使い方をわかりやすく解説

    PHPのasort()関数は、連想配列を値に基づいて昇順にソートし、キーと値の関連性(インデックスの対応関係)を保持したまま並べ替えを行う関数です。通常のsort()関数と異なり、ソート後も元のキーがそのまま維持されるため、連想配列の取り扱いに非常に便利です。構文asort(arr, compare)パラメータarr − ソート対象となる配列を指定します。compare − 配列要素の比較方法を指定します(省略可能)。指定できる値は以下の通りです。SORT_STRING − 要素を文字列として比較しますSORT_REGULAR − 型を変換せずに要素を通常の方法で比較しますSORT_NUMER

  2. PHPのarsort()関数の使い方:配列を降順ソートしてキーの関連性を保持する方法

    arsort()関数とはarsort()関数は、配列を降順(逆順)にソートするPHPの組み込み関数です。最大の特徴は、ソート後もキーと値の関連性(インデックスの関連付け)が維持される点にあります。連想配列を値の大きい順に並べ替えたい場合に特に便利です。構文arsort(arr, compare)パラメータarr − ソート対象の配列を指定します。compare − 配列要素の比較方法を指定します(省略可能)。指定できる値は以下のとおりです。SORT_STRING − 要素を文字列として比較しますSORT_REGULAR − 型を変換せずに通常の方法で要素を比較しますSORT_NUMERIC −