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

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

作成日: 更新日:

基本的な使い方

getEntryメソッドは、RecursiveTreeIteratorが現在指し示している要素の値そのものを取得するために実行するメソッドです。RecursiveTreeIteratorは、ディレクトリ構造のような再帰的なデータ構造を、階層的な木構造として処理する際に用いられるクラスです。このイテレータを使ってループ処理を行う際、current()メソッドを呼び出すと、木構造の階層を表すための接頭辞(例: |-- )と要素の値が結合された、行全体の文字列が返されます。これに対し、getEntryメソッドは、そのような装飾的な接頭辞を含まない、純粋な要素の値だけを文字列として返します。例えば、ファイルシステムのディレクトリ構造を再帰的に処理し、表示上のツリー形式とは別に、ファイル名やディレクトリ名の一覧だけをプログラムで利用したい場合にこのメソッドが役立ちます。戻り値は、現在の要素の値を表す文字列となります。

構文(syntax)

1<?php
2
3$data = [
4    'File 1',
5    'Folder' => [
6        'File 2',
7        'File 3',
8    ],
9    'File 4',
10];
11
12$iterator = new RecursiveTreeIterator(
13    new RecursiveArrayIterator($data)
14);
15
16foreach ($iterator as $value) {
17    $entry = $iterator->getEntry();
18    echo $entry . $value . PHP_EOL;
19}

引数(parameters)

引数なし

引数はありません

戻り値(return)

string

RecursiveTreeIterator::getEntry()メソッドは、現在のイテレータ位置にあるエントリの名前を文字列として返します。

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