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

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

作成日: 更新日:

基本的な使い方

keyメソッドは、イテレータが現在指している要素のキーを取得するメソッドです。このメソッドは、RecursiveCachingIteratorクラスが内部で保持している元のイテレータ(内部イテレータ)に対してkey()を呼び出し、その結果をそのまま返します。プログラミングにおけるイテレータとは、配列やオブジェクトの集合といったデータ構造の要素を、一つずつ順番にたどるための仕組みです。多くの場合、各要素はそれを識別するための「キー」と、実際の「値」のペアで構成されています。例えば、内部イテレータが通常の配列を走査している場合、このメソッドが返すキーは0から始まる数値インデックスとなります。連想配列の場合は、定義された文字列のキーが返されます。また、RecursiveDirectoryIteratorのようなファイルシステムを扱うイテレータをラップしている場合は、ファイルパスがキーになることもあります。返されるキーのデータ型は内部イテレータに依存するため、整数や文字列など、様々な型になる可能性があります。このメソッドは、ループ処理の中で現在の要素の位置や識別子を把握するために不可欠です。

構文(syntax)

1<?php
2$data = new RecursiveArrayIterator([
3    'fruit1' => 'apple',
4    'fruit2' => 'banana',
5    'fruit3' => 'cherry'
6]);
7
8$iterator = new RecursiveCachingIterator($data);
9
10foreach ($iterator as $value) {
11    // 現在の要素のキーを取得して表示します
12    echo $iterator->key() . PHP_EOL;
13}

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

RecursiveCachingIterator::key() は、現在のイテレータの位置に対応するキーを返します。このキーは、イテレーションの進行とともに変化します。