【PHP8.x】rewindメソッドの使い方
rewindメソッドの使い方について、初心者にもわかりやすく解説します。
作成日: 更新日:
基本的な使い方
rewindメソッドは、イテレータを最初の要素に巻き戻す処理を実行するメソッドです。このメソッドは、PHPの標準インターフェースであるIteratorインターフェースで定義されており、RecursiveTreeIteratorクラスはこれを実装しています。foreach構文でイテレータを走査する際、ループの開始時にPHPエンジンによってこのrewindメソッドが暗黙的に呼び出されます。これにより、常にデータ構造の先頭から要素の処理が開始されることが保証されます。開発者が手動でこのメソッドを呼び出すことも可能で、その場合はイテレーションの途中で処理を中断し、再び最初から要素をたどり直すことができます。RecursiveTreeIteratorのコンテキストでは、このメソッドが呼び出されると、内部的に保持している再帰イテレータ、例えばRecursiveDirectoryIteratorなどのrewindメソッドが実行されます。その結果、イテレータの内部ポインタは木構造のルートにあたる最初の要素を指す状態にリセットされます。このメソッドは値を返さず、返り値の型はvoidです。
構文(syntax)
1<?php 2 3// RecursiveTreeIteratorのインスタンスを作成します 4$iterator = new RecursiveTreeIterator( 5 new RecursiveArrayIterator(['Item 1', ['Sub-item 1.1', 'Sub-item 1.2'], 'Item 2']) 6); 7 8// foreachループなどでイテレータを最後まで進めます 9foreach ($iterator as $value) { 10 // 何らかの処理 11} 12 13// rewind()メソッドを呼び出し、イテレータを最初の要素に巻き戻します 14$iterator->rewind(); 15 16?>
引数(parameters)
引数なし
引数はありません
戻り値(return)
void
イテレータを最初の要素に巻き戻します。戻り値はありません。