표준 PHP 라이브러리(SPL) The RecursiveTreeIterator class

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


소개

ASCII 그래픽 트리를 생성하기 위해 RecursiveIterator를 반복할 수 있습니다.


클래스 개요

                  
class RecursiveTreeIterator extends RecursiveIteratorIterator {

  /* Inherited constants */
  const int RecursiveIteratorIterator::LEAVES_ONLY = 0;
  const int RecursiveIteratorIterator::SELF_FIRST = 1;
  const int RecursiveIteratorIterator::CHILD_FIRST = 2;
  const int RecursiveIteratorIterator::CATCH_GET_CHILD = 16;

  /* Constants */
  const int BYPASS_CURRENT = 4;
  const int BYPASS_KEY = 8;
  const int PREFIX_LEFT = 0;
  const int PREFIX_MID_HAS_NEXT = 1;
  const int PREFIX_MID_LAST = 2;
  const int PREFIX_END_HAS_NEXT = 3;
  const int PREFIX_END_LAST = 4;
  const int PREFIX_RIGHT = 5;

  /* Methods */
  public __construct(
      RecursiveIterator|IteratorAggregate $iterator,
      int $flags = RecursiveTreeIterator::BYPASS_KEY,
      int $cachingIteratorFlags = CachingIterator::CATCH_GET_CHILD,
      int $mode = RecursiveTreeIterator::SELF_FIRST
  )
  public beginChildren(): void
  public beginIteration(): RecursiveIterator
  public callGetChildren(): RecursiveIterator
  public callHasChildren(): bool
  public current(): mixed
  public endChildren(): void
  public endIteration(): void
  public getEntry(): string
  public getPostfix(): string
  public getPrefix(): string
  public key(): mixed
  public next(): void
  public nextElement(): void
  public rewind(): void
  public setPostfix(string $postfix): void
  public setPrefixPart(int $part, string $value): void
  public valid(): bool

  /* Inherited methods */
  public RecursiveIteratorIterator::beginChildren(): void
  public RecursiveIteratorIterator::beginIteration(): void
  public RecursiveIteratorIterator::callGetChildren(): ?RecursiveIterator
  public RecursiveIteratorIterator::callHasChildren(): bool
  public RecursiveIteratorIterator::current(): mixed
  public RecursiveIteratorIterator::endChildren(): void
  public RecursiveIteratorIterator::endIteration(): void
  public RecursiveIteratorIterator::getDepth(): int
  public RecursiveIteratorIterator::getInnerIterator(): RecursiveIterator
  public RecursiveIteratorIterator::getMaxDepth(): int|false
  public RecursiveIteratorIterator::getSubIterator(?int $level = null): ?RecursiveIterator
  public RecursiveIteratorIterator::key(): mixed
  public RecursiveIteratorIterator::next(): void
  public RecursiveIteratorIterator::nextElement(): void
  public RecursiveIteratorIterator::rewind(): void
  public RecursiveIteratorIterator::setMaxDepth(int $maxDepth = -1): void
  public RecursiveIteratorIterator::valid(): bool
}
                  
                

미리 정의된 상수

RecursiveTreeIterator::BYPASS_CURRENT
RecursiveTreeIterator::BYPASS_KEY
RecursiveTreeIterator::PREFIX_LEFT
RecursiveTreeIterator::PREFIX_MID_HAS_NEXT
RecursiveTreeIterator::PREFIX_MID_LAST
RecursiveTreeIterator::PREFIX_END_HAS_NEXT
RecursiveTreeIterator::PREFIX_END_LAST
RecursiveTreeIterator::PREFIX_RIGHT

목차