【PHP8.x】ksortメソッドの使い方

ksortメソッドの使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

ksortメソッドは、RecursiveArrayIteratorオブジェクトが現在指し示している配列の要素を、キーに基づいて昇順にソートするために実行するメソッドです。このメソッドは、配列の値を基準にするのではなく、各要素のキーを基準に並べ替えを行います。ソートの挙動は、引数にソートフラグ定数を指定することで細かく制御することが可能です。例えば、キーを数値として比較したい場合は SORT_NUMERIC を、文字列として比較したい場合は SORT_STRING を指定します。引数を省略した場合は、デフォルトで SORT_REGULAR が適用され、データ型に応じた標準的な比較が行われます。このメソッドは、多次元配列を再帰的に走査している途中で、特定の階層にある配列の順序をキーで整えたい場合に役立ちます。処理が成功した場合には true を、失敗した場合には false を返します。

構文(syntax)

1<?php
2
3$array = [
4    'lemon' => 1,
5    'apple' => 2,
6    'banana' => 3
7];
8
9$iterator = new RecursiveArrayIterator($array);
10
11// キーに基づいてイテレータが指す配列をソートします
12$iterator->ksort();
13
14foreach ($iterator as $key => $value) {
15    echo "{$key}: {$value}" . PHP_EOL;
16}
17
18?>

引数(parameters)

int $flags = SORT_REGULAR

  • int $flags = SORT_REGULAR: ソートの挙動を制御するフラグ。デフォルトは SORT_REGULAR (通常の比較)。

戻り値(return)

bool

RecursiveArrayIterator::ksortは、配列のキーを昇順にソートしたことを示す真偽値を返します。ソートに成功した場合はtrueを、失敗した場合はfalseを返します。

【PHP8.x】ksortメソッドの使い方 | いっしー@Webエンジニア