update page now
Longhorn PHP 2026 - Call For Papers

The RecursiveTreeIterator class

(PHP 5 >= 5.3.0, PHP 7, PHP 8)

Introduction

Allows iterating over a RecursiveIterator to generate an ASCII graphic tree.

Class synopsis

class RecursiveTreeIterator extends RecursiveIteratorIterator {
/* Inherited constants */
/* Constants */
public const int BYPASS_CURRENT;
public const int BYPASS_KEY;
public const int PREFIX_LEFT;
public const int PREFIX_MID_HAS_NEXT = 1;
public const int PREFIX_MID_LAST = 2;
public const int PREFIX_END_HAS_NEXT = 3;
public const int PREFIX_END_LAST = 4;
public const int PREFIX_RIGHT = 5;
/* Methods */
public function __construct(
    RecursiveIterator|IteratorAggregate $iterator,
    int $flags = RecursiveTreeIterator::BYPASS_KEY,
    int $cachingIteratorFlags = CachingIterator::CATCH_GET_CHILD,
    int $mode = RecursiveTreeIterator::SELF_FIRST
)
public function beginChildren(): void
public function callHasChildren(): bool
public function current(): mixed
public function endChildren(): void
public function endIteration(): void
public function getEntry(): string
public function getPostfix(): string
public function getPrefix(): string
public function key(): mixed
public function next(): void
public function nextElement(): void
public function rewind(): void
public function setPostfix(string $postfix): void
public function setPrefixPart(int $part, string $value): void
public function valid(): bool
/* Inherited methods */
public function RecursiveIteratorIterator::setMaxDepth(int $maxDepth = -1): void
}

Table of Contents

add a note

User Contributed Notes 1 note

up
21
matthieu88160
9 years ago
$it = new RecursiveArrayIterator(array(1, 2, array(3, 4, array(5, 6, 7), 8), 9, 10));
$tit = new RecursiveTreeIterator($it);

foreach( $tit as $key => $value ){
    echo $value . PHP_EOL;
}

/* Will output

|-1
|-2
|-Array
| |-3
| |-4
| |-Array
| | |-5
| | |-6
| | \-7
| \-8
|-9
\-10

*/
To Top