# Класс RecursiveIteratorIterator

(PHP 5, PHP 7, PHP 8)

## Введение

Может быть использован для перебора рекурсивных итераторов.

## Обзор класса

class RecursiveIteratorIterator implements OuterIterator {
/* Константы */
public const int LEAVES_ONLY;
public const int SELF_FIRST;
public const int CHILD_FIRST;
public const int CATCH_GET_CHILD;
/* Методы */
public function __construct(Traversable `$iterator`, int `$mode` = `RecursiveIteratorIterator::LEAVES_ONLY`, int `$flags` = 0)
public function beginChildren(): void
public function beginIteration(): void
public function callGetChildren(): ?RecursiveIterator
public function callHasChildren(): bool
public function current(): mixed
public function endChildren(): void
public function endIteration(): void
public function getDepth(): int
public function getInnerIterator(): RecursiveIterator
public function getMaxDepth(): int|false
public function getSubIterator(?int `$level` = `null`): ?RecursiveIterator
public function key(): mixed
public function next(): void
public function nextElement(): void
public function rewind(): void
public function setMaxDepth(int `$maxDepth` = -1): void
public function valid(): bool
}

## Предопределённые константы

`RecursiveIteratorIterator::LEAVES_ONLY`

`RecursiveIteratorIterator::SELF_FIRST`

`RecursiveIteratorIterator::CHILD_FIRST`

`RecursiveIteratorIterator::CATCH_GET_CHILD`

## Содержание

- RecursiveIteratorIterator::beginChildren — Переход к первому дочернему элементу
- RecursiveIteratorIterator::beginIteration — Начало итерации
- RecursiveIteratorIterator::callGetChildren — Получение дочерних элементов
- RecursiveIteratorIterator::callHasChildren — Проверка, есть ли у элемента дочерние элементы
- RecursiveIteratorIterator::__construct — Конструктор класса RecursiveIteratorIterator
- RecursiveIteratorIterator::current — Получает значение текущего элемента
- RecursiveIteratorIterator::endChildren — Окончание дочерних элементов
- RecursiveIteratorIterator::endIteration — Окончание итерации
- RecursiveIteratorIterator::getDepth — Определяет текущую глубину рекурсии
- RecursiveIteratorIterator::getInnerIterator — Получение ссылки на внутренний итератор
- RecursiveIteratorIterator::getMaxDepth — Получение максимальной глубины рекурсии
- RecursiveIteratorIterator::getSubIterator — Получает активный вложенный итератор
- RecursiveIteratorIterator::key — Получение ключа текущего элемента
- RecursiveIteratorIterator::next — Перемещение итератора к следующему элементу
- RecursiveIteratorIterator::nextElement — Следующий элемент
- RecursiveIteratorIterator::rewind — Перемещает итератор на первый элемент самого верхнего уровня вложенности внутреннего итератора
- RecursiveIteratorIterator::setMaxDepth — Установка максимальной глубины вложенности
- RecursiveIteratorIterator::valid — Проверка допустимости текущей позиции

`↑` and `↓` to navigate • `Enter` to select • `Esc` to close • `/` to open