【PHP8.x】currentメソッドの使い方
currentメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
currentメソッドは、InfiniteIteratorが内部で保持しているイテレータの現在の要素を取得するために実行するメソッドです。InfiniteIteratorクラスは、配列などの反復可能なデータ構造をラップし、その要素を無限に繰り返し処理する機能を提供します。このメソッドは、その無限ループの中で、現在どの要素を指しているかという「現在の値」を取得する役割を担います。例えば、foreachループでInfiniteIteratorのインスタンスを処理する場合、各反復で値を取り出す際にPHPエンジンによって内部的にこのメソッドが呼び出されます。通常のイテレータはデータの終端に達すると処理を終了しますが、InfiniteIteratorは自動的に先頭に戻って繰り返しを続けます。そのため、内部のイテレータが空でない限り、currentメソッドは常に有効な値を返し続けます。このメソッドに引数はなく、返り値は内部イテレータの現在の要素であり、そのデータ型は要素に依存します。
構文(syntax)
1<?php 2 3// 'Apple', 'Banana', 'Cherry' の配列を元に無限イテレータを作成します 4$iterator = new InfiniteIterator( 5 new ArrayIterator(['Apple', 'Banana', 'Cherry']) 6); 7 8// ループを5回実行します 9for ($i = 0; $i < 5; $i++) { 10 // current() は、イテレータの現在の位置にある要素の値を返します。 11 $currentValue = $iterator->current(); 12 13 echo $currentValue . PHP_EOL; 14 15 // イテレータを次の要素に進めます 16 $iterator->next(); 17}
引数(parameters)
引数なし
引数はありません
戻り値(return)
mixed
InfiniteIterator クラスの current メソッドは、現在イテレータが指している要素を返します。このメソッドは、無限に続くイテレータの要素を順に取得するために使用されます。