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

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

作成日: 更新日:

基本的な使い方

『keyメソッドは、CachingIteratorが現在指している要素のキーを取得するために実行するメソッドです。』 このメソッドは、PHPの標準インターフェースであるIteratorで定義されており、イテレータを反復処理する際の基本的な操作の一つです。foreachループ構文で foreach ($iterator as $key => $value) のようにキーと値の両方を取り出す場合、このkeyメソッドが内部的に呼び出され、$key変数に対応する値が代入されます。CachingIteratorは、元のイテレータを包み込んで先読み機能などを追加しますが、keyメソッドの振る舞いは、基本的にラップしている元のイテレータのkeyメソッドと同じです。つまり、CachingIteratorが指している現在の要素に関して、元のイテレータが持つキーをそのまま返します。返されるキーの型は元のデータ構造に依存し、配列の場合は整数や文字列になります。もしイテレータが有効な要素を指していない状態で呼び出された場合、nullが返されます。このメソッドは、currentメソッドで値を取得し、nextメソッドで次に進むという一連の反復処理の中で、現在の位置を特定するために重要な役割を担います。

構文(syntax)

1<?php
2
3$data = ['a' => 'Apple', 'b' => 'Banana', 'c' => 'Cherry'];
4$iterator = new ArrayIterator($data);
5$cachingIterator = new CachingIterator($iterator);
6
7foreach ($cachingIterator as $value) {
8    // イテレータの現在の要素のキーを取得します
9    $currentKey = $cachingIterator->key();
10
11    var_dump($currentKey);
12}
13
14?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

mixed

現在の要素のキーを返します。イテレータが終端に達している場合は、null を返します。