【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

このメソッドは、イテレータを最初の要素に戻します。戻り値はありません。