【PHP8.x】keyメソッドの使い方
keyメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『keyメソッドは、内部イテレータの現在の要素のキーを取得するメソッドです。このメソッドが属するNoRewindIteratorクラスは、Iteratorインターフェースを実装した別のイテレータオブジェクトを内部に保持し、そのイテレータのrewind処理、すなわち先頭への巻き戻し機能だけを無効化するために使用されます。keyメソッドの役割は、Iteratorインターフェースで定められている通り、イテレーション処理中の現在の要素に対応するキーを返すことです。その動作は非常にシンプルで、内部で保持しているイテレータのkeyメソッドを呼び出し、その戻り値をそのまま返します。例えば、配列をラップしたイテレータをNoRewindIteratorでさらにラップしてforeachで反復処理する場合、このメソッドは配列の現在のインデックスやキー文字列を返します。返される値の型は、内部イテレータが返すキーの型に依存し、整数、文字列、浮動小数点数、ブール値、あるいはnullとなる可能性があります。したがって、NoRewindIteratorのkeyメソッドは、巻き戻しが禁止されているという文脈の中で、標準的なイテレータと同様に現在のキーを取得するために使用されます。
構文(syntax)
1<?php 2 3$array = ['first' => 'apple', 'second' => 'banana']; 4$iterator = new ArrayIterator($array); 5$noRewindIterator = new NoRewindIterator($iterator); 6 7while ($noRewindIterator->valid()) { 8 // 現在の要素のキーを取得します 9 $key = $noRewindIterator->key(); 10 var_dump($key); 11 $noRewindIterator->next(); 12} 13
引数(parameters)
引数なし
引数はありません
戻り値(return)
mixed
現在のイテレータの位置を示すキーを返します。