キーでエントリをソートする

# ArrayObject::ksort

(PHP 5 >= 5.2.0, PHP 7, PHP 8)

ArrayObject::ksort — キーでエントリをソートする

### 説明

public function ArrayObject::ksort(int `$flags` = `SORT_REGULAR`): true

キーでエントリをソートし、キーと値の関係は保持します。 主に連想配列で有用です。

> 注意: 比較結果が等しくなる二つの要素があった場合、それらの並び順は保持されます。PHP 8.0.0 より前のバージョンでは、ソートした配列におけるそれらの並び順は不定でした。

### パラメータ

`flags`
  オプションの第二引数 `flags` によりソートの動作を修正可能です。 使える値は下記の通りです:

  ソートタイプのフラグ:

  - `SORT_REGULAR` - 通常通りに項目を比較します。 詳細は 比較演算子 で説明されています。
  - `SORT_NUMERIC` - 数値として項目を比較します。
  - `SORT_STRING` - 文字列として項目を比較します。
  - `SORT_LOCALE_STRING` - 現在のロケールに基づいて、文字列として項目を比較します。 比較に使うロケールは、setlocale() 関数で変更できます。
  - `SORT_NATURAL` - 要素の比較を文字列として行い、 natsort() と同様の「自然順」で比較します。
  - `SORT_FLAG_CASE` - `SORT_STRING` や `SORT_NATURAL` と (ビットORで) 組み合わせて使い、 文字列のソートで大文字小文字を区別しないようにします。

### 戻り値

常に `true` を返します。

### 変更履歴

バージョン | 説明
--- | ---
8.2.0 | 戻り値の型が、`true` になりました。これより前のバージョンでは、bool でした。

### 例

例1 ArrayObject::ksort() の例

    <?php
    $fruits = array("d" => "lemon", "a" => "orange", "b" => "banana", "c" => "apple");
    $fruitArrayObject = new ArrayObject($fruits);
    $fruitArrayObject->ksort();

    foreach ($fruitArrayObject as $key => $val) {
        echo "$key = $val\n";
    }
     ?>

上の例の出力は以下となります。

    a = orange
    b = banana
    c = apple
    d = lemon

### 参考

- ArrayObject::asort() - 値でエントリをソートする
- ArrayObject::natsort() - "自然順" アルゴリズムでエントリをソートする
- ArrayObject::natcasesort() - 大文字小文字を区別しない "自然順" アルゴリズムでエントリをソートする
- ArrayObject::uasort() - ユーザー定義の比較関数でエントリをソートし、キーとの対応は保持する
- ArrayObject::uksort() - ユーザー定義の比較関数を使って、キーでエントリをソートする
- ksort() - 配列をキーで昇順にソートする

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open