【PHP8.x】rewindメソッドの使い方
rewindメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
rewindメソッドは、イテレータの先頭への巻き戻しを防ぐために、呼び出されても意図的に何も処理を実行しないメソッドです。PHPのforeachループは、処理を開始する前に必ずイテレータのrewindメソッドを呼び出し、ポインタを最初の要素に戻す仕様になっています。NoRewindIteratorクラスは、この自動的な巻き戻しを抑制するために使用されます。このクラスで既存のイテレータをラップすると、foreachループが始まっても内部のイテレータのポインタは先頭に戻りません。NoRewindIteratorのrewindメソッドは、Iteratorインターフェースの要件を満たすために定義されていますが、その実装は空になっており、一切の操作を行いません。この特性により、イテレータをあらかじめ特定の位置まで進めておき、その状態から反復処理を開始したい場合に非常に有効です。例えば、一度しか読み取れないデータストリームや、大規模なデータセットの一部分だけを処理する場合などに活用できます。このメソッドは値を返しません。
構文(syntax)
1<?php 2 3$noRewindIterator = new NoRewindIterator(new ArrayIterator(['a', 'b', 'c'])); 4 5// このメソッドはイテレータを巻き戻しません。 6$noRewindIterator->rewind(); 7
引数(parameters)
引数なし
引数はありません
戻り値(return)
戻り値なし
戻り値はありません