【PHP8.x】currentメソッドの使い方
currentメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
『currentメソッドは、イテレータの現在の位置にある要素を取得して返すメソッドです』
このメソッドは、PHPの標準的な機能であるIteratorインターフェースで定義されている基本的なメソッドの一つです。CachingIteratorクラスもこのインターフェースを実装しているため、currentメソッドを持っています。CachingIteratorは、配列や他のイテレータオブジェクトなどを内部に保持し、その要素を順番に処理する際に利用されます。currentメソッドを呼び出すと、内部で保持しているイテレータが現在指している要素の値が返されます。例えば、foreachループでCachingIteratorオブジェクトを処理する場合、各ループの反復において現在の値を取得するために、このメソッドが内部的に呼び出されます。イテレータがシーケンスの終端に達しているなど、有効な要素を指していない状態でこのメソッドを呼び出すと、その動作は保証されません。そのため、通常はvalidメソッドで現在の位置が有効であることを確認してからcurrentメソッドを使用することが推奨されます。
構文(syntax)
1<?php 2 3// イテレータの元になる配列を定義します 4$data = ['A', 'B', 'C']; 5 6// 配列を ArrayIterator に変換し、さらに CachingIterator でラップします 7$iterator = new CachingIterator(new ArrayIterator($data)); 8 9// イテレータが有効な間、ループ処理を行います 10while ($iterator->valid()) { 11 // current() メソッドで、イテレータの現在の要素を取得します 12 $currentValue = $iterator->current(); 13 echo $currentValue . PHP_EOL; 14 15 // next() メソッドで、イテレータを次の要素に進めます 16 $iterator->next(); 17} 18 19?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
mixed
CachingIterator::current()は、現在のイテレータの位置にある要素を返します。 この要素は、キャッシュされたデータ、または元のイテレータから取得されたデータです。