【PHP8.x】rewindメソッドの使い方
rewindメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
rewindメソッドは、InfiniteIteratorが内部に保持しているイテレータを、その最初の要素に巻き戻す処理を実行するメソッドです。このメソッドは、PHPの標準的なIteratorインターフェースで定義されているもので、繰り返し処理を行う際にカーソルを先頭の位置に戻すという重要な役割を持ちます。InfiniteIteratorは、ラップしている内部イテレータの要素を最後まで処理すると、自動的に先頭に戻って繰り返しを続ける特性を持っています。rewindメソッドを呼び出すことで、繰り返し処理の途中であっても、内部イテレータを強制的に最初の位置から再開させることが可能です。一般的に、foreachループでイテレータを使用する際には、ループが開始される直前にPHPによって内部的にこのメソッドが呼び出されます。そのため、InfiniteIteratorを使ったforeachループは、常に内部イテレータの先頭要素から処理が開始されることが保証されます。このメソッドの挙動を理解することは、イテレータの基本的な動作と無限ループの仕組みを把握する上で役立ちます。
構文(syntax)
1<?php 2 3$arrayIterator = new ArrayIterator(['apple', 'banana', 'cherry']); 4$infiniteIterator = new InfiniteIterator($arrayIterator); 5 6// イテレータを2番目の要素に進める 7$infiniteIterator->next(); // 現在位置は 'banana' 8 9// rewind()を呼び出してイテレータを先頭に戻す 10$infiniteIterator->rewind(); 11 12// 現在の要素が先頭に戻っていることを確認 13var_dump($infiniteIterator->current());
引数(parameters)
引数なし
引数はありません
戻り値(return)
void
このメソッドは、イテレータを最初の要素に戻します。戻り値はありません。