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

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

作成日: 更新日:

基本的な使い方

『rewindメソッドは、AppendIteratorオブジェクトの内部ポインタを先頭に戻し、反復処理を最初から開始できるように準備を実行するメソッドです。AppendIteratorクラスは、複数のイテレータを一つに連結し、あたかも単一のイテレータであるかのように振る舞わせる機能を提供します。このrewindメソッドが呼び出されると、AppendIteratorが管理している連結されたイテレータのリストのうち、一番最初に登録されたイテレータを指すように内部ポインタがリセットされます。さらに、その現在選択されている最初のイテレータ自身のrewindメソッドも内部的に呼び出され、そのイテレータが持つ要素のポインタも先頭に戻されます。この一連の処理により、AppendIterator全体として、連結された全要素の最初の要素から再び処理を開始できる状態になります。通常、このメソッドはforeachループが開始される際に自動的に呼び出されるため、プログラマが明示的に呼び出すことは稀ですが、イテレータの動作を理解する上で重要な概念です。

構文(syntax)

1<?php
2
3$iterator1 = new ArrayIterator(['Apple', 'Banana']);
4$iterator2 = new ArrayIterator(['Orange', 'Grape']);
5
6$appendIterator = new AppendIterator();
7$appendIterator->append($iterator1);
8$appendIterator->append($iterator2);
9
10// イテレータを2番目の要素 'Banana' に進める
11$appendIterator->next();
12
13// イテレータを最初の要素 'Apple' に巻き戻す
14$appendIterator->rewind();
15
16echo $appendIterator->current();

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

【PHP8.x】rewindメソッドの使い方 | いっしー@Webエンジニア