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

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

作成日: 更新日:

基本的な使い方

keyメソッドは、FilesystemIteratorオブジェクトが現在指している要素のキーを取得するメソッドです。FilesystemIteratorは、ファイルシステム、つまりディレクトリ内のファイルやサブディレクトリを効率的に反復処理(一つずつ順に見ていくこと)するための特別なイテレータクラスです。このメソッドを利用することで、反復処理中に現在アクセスしているファイルやディレクトリを識別するための情報を取得できます。

具体的には、デフォルトの状態では、現在のファイルまたはディレクトリへの完全なパス(例: /path/to/directory/filename.txt)を文字列として返します。これは、ファイルシステム上の各要素を一意に識別するための情報として非常に有用です。例えば、ディレクトリの内容をリストアップし、それぞれの要素がどのパスに存在するかを知りたい場合に、このkeyメソッドから得られる情報が役立ちます。

このメソッドの戻り値は常にstring型です。FilesystemIterator::KEY_AS_FILENAMEなどの特定のフラグを設定することで、キーとしてファイル名のみを返すように動作を変更することも可能ですが、基本的な使用法では完全なパスが返されます。通常、ループ処理の中で現在の要素のパスを確認したり、そのパスに基づいて何らかのファイル操作を行ったりする際に利用されます。PHPのforeachループでkey => value形式で反復する場合、このkeyメソッドが内部的に呼び出されて、現在の要素のキーが提供されています。

構文(syntax)

1<?php
2$iterator = new FilesystemIterator('.');
3$iterator->rewind();
4if ($iterator->valid()) {
5    $currentKey = $iterator->key();
6}
7?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

FilesystemIterator::key() は、現在のディレクトリ内のファイルやディレクトリの名前を文字列で返します。これは、イテレータが現在指している要素のキーとなります。