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

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

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

作成日: 更新日:

基本的な使い方

currentメソッドは、GlobIteratorオブジェクトが指し示す現在の要素(ファイルまたはディレクトリ)を取得するメソッドです。GlobIteratorは、指定されたglobパターン(例えば、*.txtimages/*のようなワイルドカードを含むパターン)に一致するファイルやディレクトリを繰り返し処理するために使用される、PHPのイテレータです。このcurrentメソッドは、イテレータが現在どのファイルまたはディレクトリを処理しているかを把握するために不可欠な機能を提供します。

currentメソッドが返す値は、SplFileInfoクラスのインスタンスです。SplFileInfoオブジェクトは、取得したファイルやディレクトリに関する詳細な情報、例えばファイル名、フルパス、サイズ、最終更新日時などを、統一されたインターフェースを通じて簡単に取得できる機能を提供します。これにより、現在のファイルやディレクトリに対して、そのパス情報を取得したり、それがディレクトリであるかファイルであるかを確認したりするなどの操作を容易に行うことができます。

通常、GlobIteratorはPHPのforeachループと組み合わせて使用されます。foreachループの各反復処理において、currentメソッドは自動的に呼び出され、その時点での要素に対応するSplFileInfoオブジェクトを返します。これにより、プログラマはglobパターンにマッチするすべてのファイルやディレクトリに対して、一貫した方法で処理を実行できます。このメソッドは、ファイルシステムを効率的に探索し、特定の条件に合致するファイルを処理する際に非常に役立ちます。

構文(syntax)

1<?php
2// GlobIterator::current() の構文例
3
4// 動作に必要な一時ファイルを作成します。
5file_put_contents('example_file.txt', 'dummy content');
6
7// GlobIterator をインスタンス化し、ファイルパターンを指定します。
8$iterator = new GlobIterator('example_file.txt');
9
10// イテレータが現在指している要素(ファイルパス)を取得します。
11// このメソッドは string 型のファイルパスを返します。
12$currentElement = $iterator->current();
13
14// クリーンアップとして一時ファイルを削除します。
15unlink('example_file.txt');
16?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

GlobIterator::current() メソッドは、現在イテレータが指しているファイルパスの文字列を返します。