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

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

作成日: 更新日:

基本的な使い方

rewindメソッドは、IteratorIteratorオブジェクトが内部で保持しているイテレータを、その先頭に巻き戻す処理を実行するメソッドです。IteratorIteratorは、配列や他のオブジェクトコレクションなどを順番に処理するための仕組みである「イテレータ」を、さらに内包(ラップ)して利用するためのクラスです。このrewindメソッドは、PHP標準のIteratorインターフェースで定められているメソッドの一つであり、繰り返し処理を開始する前に、処理対象のポインタを集合の最初の要素に戻す重要な役割を担います。具体的には、foreach構文でIteratorIteratorオブジェクトをループ処理する場合、PHPエンジンはループが始まる一番最初にこのrewindメソッドを自動的に呼び出します。これにより、内包されたイテレータのポインタが確実に先頭にリセットされ、常にコレクションの最初の要素から処理を開始できることが保証されます。開発者がこのメソッドを直接呼び出す機会は少ないですが、PHPにおけるイテレータの基本的な振る舞いを定義する上で不可欠な機能となっています。

構文(syntax)

1<?php
2
3// イテレートする配列を準備します
4$array = ['A', 'B', 'C'];
5$iterator = new IteratorIterator(new ArrayIterator($array));
6
7// イテレータを2番目の要素まで進めます
8$iterator->next();
9// echo $iterator->current(); // "B"
10
11// rewind()メソッドを呼び出して、イテレータを先頭に戻します
12$iterator->rewind();
13
14// 先頭に戻っていることを確認します
15echo $iterator->current(); // "A"
16

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません