【PHP8.x】PREFIX_END_LAST定数の使い方

PREFIX_END_LAST定数の使い方について、初心者にもわかりやすく解説します。

作成日: 更新日:

基本的な使い方

PREFIX_END_LAST定数は、RecursiveTreeIteratorクラスが生成するツリー表示において、同じ階層にある最後の要素に使われる接頭辞のスタイルを表す定数です。RecursiveTreeIteratorクラスは、ディレクトリ構造や多次元配列のような階層構造を持つデータを、テキストベースのツリー形式で視覚的に表現するために利用されます。このツリー表示の際、各要素の前には「├─」や「│ 」のような罫線記号が接頭辞として付加され、データの親子関係が分かりやすく示されます。PREFIX_END_LAST定数が示すのは、これらの接頭辞の中でも、ある階層における最後の要素、つまり「枝」の終端を示す部分です。一般的には「└─」という記号で表現される箇所がこれに該当します。この定数は、RecursiveTreeIteratorの動作を制御するためのフラグとして使用され、getPrefixメソッドが返す文字列の内容に影響を与えます。開発者はこの定数を利用することで、ツリーの末端要素の接頭辞を標準のスタイルからカスタマイズし、独自の記号を用いた柔軟なツリー表示を実装することが可能になります。

構文(syntax)

1<?php
2
3$data = [
4    'Item A',
5    'Item B' => [
6        'SubItem B.1',
7        'SubItem B.2',
8    ],
9    'Item C',
10];
11
12$arrayIterator = new RecursiveArrayIterator($data);
13$treeIterator = new RecursiveTreeIterator($arrayIterator);
14
15// 各階層の最後の要素の終端に使われるプレフィックスをカスタマイズします。
16$treeIterator->setPrefixPart(RecursiveTreeIterator::PREFIX_END_LAST, '└─(end) ');
17
18foreach ($treeIterator as $line) {
19    echo $line . PHP_EOL;
20}
21
22?>

引数(parameters)

引数なし

引数はありません

戻り値(return)

戻り値なし

戻り値はありません