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

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

作成日: 更新日:

基本的な使い方

currentメソッドは、DirectoryIteratorオブジェクトが現在指している要素を取得するメソッドです。DirectoryIteratorは、指定されたディレクトリ内のファイルやサブディレクトリといったエントリを、まるでリストを順にたどるかのように一つずつ処理(反復処理)するために利用されるクラスです。このcurrentメソッドは、その反復処理のサイクルにおいて、「今、注目しているのはどのエントリか」という現在の位置にあるエントリを具体的に取得する役割を担います。

通常、このメソッドは現在のエントリを表すDirectoryIteratorオブジェクト自身を返します。返されたオブジェクトからは、getFilename()メソッドでエントリ名を取得したり、isFile()isDir()メソッドでそれがファイルかディレクトリかを判別したりするなど、様々な情報にアクセスできます。たとえば、foreachループを用いてディレクトリ内の各エントリを走査する際、ループの各反復でcurrentメソッドが暗黙的に呼び出され、その時点でのファイルやディレクトリの情報が取得されて処理に利用されます。

このメソッドは、イテレータが有効なエントリを指している状態(valid()メソッドがtrueを返す状態)である場合にのみ、意味のある値を返します。ディレクトリ内のコンテンツを順番に確認し、それぞれに対して特定の操作を行う際に、現在のエントリの詳細情報にアクセスするための基本的な機能を提供する、非常に重要なメソッドです。

構文(syntax)

1<?php
2
3$iterator = new DirectoryIterator(__DIR__);
4$currentEntry = $iterator->current();
5
6echo "現在の要素のファイル名: " . $currentEntry->getFilename() . "\n";
7
8?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

DirectoryIterator

DirectoryIterator::current() メソッドは、現在のディレクトリ内のファイルまたはディレクトリの情報を表す DirectoryIterator オブジェクトを返します。このオブジェクトを通じて、ファイル名やパスなどの詳細情報にアクセスできます。

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