# La classe RecursiveIteratorIterator

(PHP 5, PHP 7, PHP 8)

## Introduction

Peut être utilisé pour itérer sur des itérateurs, récursivement.

## Synopsis de la classe

class RecursiveIteratorIterator implements OuterIterator {
/* Constantes */
public const int LEAVES_ONLY;
public const int SELF_FIRST;
public const int CHILD_FIRST;
public const int CATCH_GET_CHILD;
/* Méthodes */
public __construct(Traversable `$iterator`, int `$mode` = RecursiveIteratorIterator::LEAVES_ONLY, int `$flags` = 0)
public beginChildren(): void
public beginIteration(): void
public callGetChildren(): ?RecursiveIterator
public callHasChildren(): bool
public current(): mixed
public endChildren(): void
public endIteration(): void
public getDepth(): int
public getInnerIterator(): RecursiveIterator
public getMaxDepth(): int|false
public getSubIterator(?int `$level` = `null`): ?RecursiveIterator
public key(): mixed
public next(): void
public nextElement(): void
public rewind(): void
public setMaxDepth(int `$maxDepth` = -1): void
public valid(): bool
}

## Constantes pré-définies

`RecursiveIteratorIterator::LEAVES_ONLY`

`RecursiveIteratorIterator::SELF_FIRST`

`RecursiveIteratorIterator::CHILD_FIRST`

`RecursiveIteratorIterator::CATCH_GET_CHILD`

## Sommaire

- RecursiveIteratorIterator::beginChildren — Commence un fils
- RecursiveIteratorIterator::beginIteration — Commence une itération
- RecursiveIteratorIterator::callGetChildren — Récupère un fils
- RecursiveIteratorIterator::callHasChildren — Vérifie si un fils existe
- RecursiveIteratorIterator::__construct — Construit un objet RecursiveIteratorIterator
- RecursiveIteratorIterator::current — Accède à la valeur de l'élément courant
- RecursiveIteratorIterator::endChildren — Termine un fils
- RecursiveIteratorIterator::endIteration — Termine un itérateur
- RecursiveIteratorIterator::getDepth — Récupère la profondeur courante de la récursivité de l'itérateur
- RecursiveIteratorIterator::getInnerIterator — Récupère l'itérateur interne
- RecursiveIteratorIterator::getMaxDepth — Récupère la profondeur maximale
- RecursiveIteratorIterator::getSubIterator — L'itérateur secondaire actif courant
- RecursiveIteratorIterator::key — Accède à la clé courante
- RecursiveIteratorIterator::next — Déplace l'itérateur à la position suivante
- RecursiveIteratorIterator::nextElement — Élément suivant
- RecursiveIteratorIterator::rewind — Replace l'itérateur au début
- RecursiveIteratorIterator::setMaxDepth — Définit la profondeur maximale
- RecursiveIteratorIterator::valid — Vérifie si la position courante est valide