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

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

作成日: 更新日:

基本的な使い方

rewindメソッドは、FilesystemIteratorオブジェクトが持つイテレータ(反復子)の位置を、リストの先頭、すなわち最初のファイルやディレクトリのエントリに位置付け直すメソッドです。

FilesystemIteratorは、指定されたディレクトリ内のファイルやサブディレクトリを順番に処理するための機能を提供します。このrewindメソッドは、その処理を開始する前にイテレータを初期状態に戻す役割を担っています。これにより、イテレータがディレクトリ内のどの要素を指しているかにかかわらず、常に最初のエントリから繰り返し処理を開始できるようになります。

例えば、一度ディレクトリ内のすべてのファイルやサブディレクトリを走査し終えた後、再び最初のエントリから処理をやり直したい場合に、このrewindメソッドを呼び出すことで、イテレータの内部ポインタがリセットされ、再度最初から反復を開始することが可能になります。

通常、PHPのforeachループを使用してFilesystemIteratorを扱う際、ループが開始される直前にこのrewindメソッドが自動的に呼び出されます。そのため、開発者が明示的にこのメソッドを呼び出す機会は少ないかもしれません。しかし、イテレータを複数の処理で再利用し、任意のタイミングで最初から走査を再開したい場合には、手動で$iterator->rewind();のように呼び出すことで、柔軟な制御が可能となります。この機能は、ファイルシステム内の要素を繰り返し処理する際に非常に重要であり、イテレータの基本的な動作を理解する上で不可欠な要素です。

構文(syntax)

1<?php
2
3$iterator = new FilesystemIterator('/path/to/directory');
4$iterator->rewind();
5
6?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

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