Webエンジニア向けプログラミング解説動画をYouTubeで配信中!
▶ チャンネル登録はこちら

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

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

作成日: 更新日:

基本的な使い方

seekメソッドは、PHPのRecursiveDirectoryIteratorクラスに属し、ディレクトリ構造を再帰的に巡回するイテレータの現在位置を、指定されたオフセット(位置)へ移動させるメソッドです。RecursiveDirectoryIteratorは、与えられたディレクトリとそのサブディレクトリにあるファイルやディレクトリの情報を順番に処理するために利用されます。

通常、イテレータはrewind()メソッドで先頭に戻り、next()メソッドで順次次の要素に進みますが、seekメソッドを使用すると、イテレータが現在指している要素を、0から始まるインデックスで指定した番号の要素に直接移動させることができます。たとえば、ディレクトリ内の4番目の要素に直接アクセスしたい場合は、seek(3)と呼び出します。これにより、next()メソッドを繰り返し呼び出すことなく、特定のファイルやディレクトリの情報に素早く到達することが可能です。

このメソッドは、ファイルやディレクトリが多数存在する大きなディレクトリ構造において、特定の目的の要素に効率的にアクセスしたい場合に役立ちます。ただし、指定されたオフセットがイテレータの有効な範囲外の場合には、例外が発生する可能性があるため、適切なオフセットを指定するように注意が必要です。

構文(syntax)

1<?php
2
3$directoryPath = __DIR__;
4$iterator = new RecursiveDirectoryIterator($directoryPath);
5$iterator->seek(1);

引数(parameters)

int $offset

  • int $offset: 移動する位置を指定する整数

戻り値(return)

戻り値なし

戻り値はありません