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

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

作成日: 更新日:

基本的な使い方

rewindメソッドは、DirectoryIteratorクラスのオブジェクトが保持する内部ポインタを、ディレクトリ内の最初の要素の位置にリセットするメソッドです。

DirectoryIteratorは、指定されたディレクトリの内容(ファイルやサブディレクトリ)を順番に処理するための仕組みを提供します。この処理を行う際、イテレータは現在どの要素を指しているかを示す内部ポインタを持っています。例えば、ディレクトリ内のファイルやフォルダを一つずつ確認していく際に、その確認の「現在地」を示すのが内部ポインタです。

一度ディレクトリ内の要素を順に処理し終えた後や、途中で処理を中断して、もう一度最初からディレクトリの要素を処理し直したい場合に、このrewindメソッドが非常に役立ちます。rewindメソッドを呼び出すことで、この内部ポインタは必ず最初の要素を指す状態に戻ります。

PHPのforeachループでDirectoryIteratorオブジェクトを使用する場合、foreachループが始まる際に自動的にrewindメソッドが呼び出されるため、通常は開発者が明示的にrewindを呼び出す必要はありません。しかし、foreachループを使わずに、手動でnext()メソッドなどを用いてイテレータを操作し、特定の位置から処理を始めたり、途中でポインタを先頭に戻したりしたい場合に、rewindメソッドを手動で呼び出すことになります。これにより、イテレータを柔軟に制御し、効率的なファイルシステム操作を実現できます。

構文(syntax)

1<?php
2
3$iterator = new DirectoryIterator('.');
4$iterator->rewind();

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません

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