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

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

作成日: 更新日:

基本的な使い方

RecursiveTreeIterator::PREFIX_MID_LAST定数は、RecursiveTreeIteratorクラスでツリー構造を表示する際の、接頭辞のスタイルを指定するための定数です。RecursiveTreeIteratorは、ファイルやディレクトリの階層構造のような再帰的なデータを、テキストベースのツリー形式で視覚的に表現するために使用されます。この定数は、ツリーの同じ階層に複数の要素(兄弟要素)が存在する場合において、その中で最後に位置する要素の接頭辞、つまり行頭に付加される記号の種類を指定するために用いられます。一般的には、最後の枝を示す「└」のような記号がこの部分に対応し、この記号により、その要素が現在の階層における終端であることが一目でわかります。開発者はsetPrefixPart()メソッドの第一引数にこの定数をキーとして指定し、第二引数に表示したい文字列(例: '└─ ')を渡すことで、ツリーの見た目をカスタマイズすることが可能です。他にも中間にある要素や子を持つ要素など、状況に応じた接頭辞を指定するための定数が用意されており、これらを組み合わせることで、分かりやすいツリー表示を実現できます。

構文(syntax)

1<?php
2
3$data = [
4    'Parent Node (Not Last)' => [
5        'Child 1',
6        'Child 2 (Last in this level)',
7    ],
8    'Last Sibling Node',
9];
10
11$iterator = new RecursiveTreeIterator(
12    new RecursiveArrayIterator($data)
13);
14
15// 親ノードが最後の要素ではなく、かつ自身が兄弟の中で最後の要素である場合の接頭辞を設定します。
16$iterator->setPrefixPart(RecursiveTreeIterator::PREFIX_MID_LAST, '╰─');
17
18foreach ($iterator as $line) {
19    echo $line . PHP_EOL;
20}

引数(parameters)

引数なし

引数はありません

戻り値(return)

int

RecursiveTreeIterator::PREFIX_MID_LASTは、ツリー構造を走査する際に、中間ノードのプレフィックスとして使用される整数値です。