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

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

作成日: 更新日:

基本的な使い方

rewindメソッドは、イテレータの先頭への巻き戻しを防ぐために、呼び出されても意図的に何も処理を実行しないメソッドです。PHPのforeachループは、処理を開始する前に必ずイテレータのrewindメソッドを呼び出し、ポインタを最初の要素に戻す仕様になっています。NoRewindIteratorクラスは、この自動的な巻き戻しを抑制するために使用されます。このクラスで既存のイテレータをラップすると、foreachループが始まっても内部のイテレータのポインタは先頭に戻りません。NoRewindIteratorrewindメソッドは、Iteratorインターフェースの要件を満たすために定義されていますが、その実装は空になっており、一切の操作を行いません。この特性により、イテレータをあらかじめ特定の位置まで進めておき、その状態から反復処理を開始したい場合に非常に有効です。例えば、一度しか読み取れないデータストリームや、大規模なデータセットの一部分だけを処理する場合などに活用できます。このメソッドは値を返しません。

構文(syntax)

1<?php
2
3$noRewindIterator = new NoRewindIterator(new ArrayIterator(['a', 'b', 'c']));
4
5// このメソッドはイテレータを巻き戻しません。
6$noRewindIterator->rewind();
7

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません