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

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

作成日: 更新日:

基本的な使い方

seekメソッドは、PHPのDirectoryIteratorクラスに属し、ディレクトリ内のエントリを操作する際に、イテレータの現在位置を指定されたインデックスに移動させるメソッドです。

DirectoryIteratorは、特定のディレクトリに存在するファイルやサブディレクトリといったエントリを、まるでリストのように順番にアクセスできるようにする機能を提供します。通常、イテレータは先頭から順にエントリを読み進めますが、seekメソッドを使用することで、この読み込み位置を自由に変更できます。

具体的には、このメソッドは整数型の引数を取り、その引数で指定された0から始まるインデックス(番号)を持つエントリの位置まで、イテレータの内部ポインタを移動させます。これにより、ディレクトリ内の先頭から順番に処理するのではなく、特定のファイルやサブディレクトリに直接アクセスしたい場合に非常に便利です。

例えば、特定のインデックスにあるエントリの情報を取得したいときや、一度アクセスした位置に再度戻って処理を再開したい場合などに活用できます。ただし、指定されたインデックスがディレクトリ内のエントリ数を超えるなど、無効な位置を指定した場合には、エラーが発生する可能性がありますので注意が必要です。このメソッドは、効率的にディレクトリの内容を操作するための柔軟性を提供します。

構文(syntax)

1<?php
2
3$iterator = new DirectoryIterator('.');
4$iterator->seek(2);
5echo $iterator->current();
6
7?>

引数(parameters)

int $offset

  • int $offset: 移動したいディレクトリ内のエントリの位置を指定する整数

戻り値(return)

戻り値なし

戻り値はありません

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