(PHP 5 >= 5.1.3, PHP 7, PHP 8)
RecursiveIteratorIterator::__construct — Construit un objet RecursiveIteratorIterator
$iterator
, int$mode
= RecursiveIteratorIterator::LEAVES_ONLY, int$flags
= 0)Crée un objet RecursiveIteratorIterator depuis un objet RecursiveIterator.
iterator
L'itérateur utilisé pour la construction. Soit la méthode RecursiveIterator ou de la méthode IteratorAggregate.
mode
Le mode (optionnel). Les valeurs possibles sont :
RecursiveIteratorIterator::LEAVES_ONLY
- Valeur par défaut. Liste uniquement les feuilles de l'itération. RecursiveIteratorIterator::SELF_FIRST
- Liste les feuilles et les parents de l'itération, avec les parents présentés en premier. RecursiveIteratorIterator::CHILD_FIRST
- Liste les feuilles et les parents de l'itération, avec les feuilles présentées en premier. flags
Drapeau optionnel. Les valeurs possibles sont RecursiveIteratorIterator::CATCH_GET_CHILD
utilisé pour ignorer les exceptions lançées depuis les appels à la méthode RecursiveIteratorIterator::getChildren().
Exemple #1 Parcours d'un RecursiveIteratorIterator
<?php
$array = array(
array(
array(
array(
'leaf-0-0-0-0',
'leaf-0-0-0-1'
),
'leaf-0-0-0'
),
array(
array(
'leaf-0-1-0-0',
'leaf-0-1-0-1'
),
'leaf-0-1-0'
),
'leaf-0-0'
)
);
$iterator = new RecursiveIteratorIterator(
new RecursiveArrayIterator($array),
$mode
);
foreach ($iterator as $key => $leaf) {
echo "$key => $leaf", PHP_EOL;
}
?>
Affichage avec $mode = RecursiveIteratorIterator::LEAVES_ONLY
0 => leaf-0-0-0-0 1 => leaf-0-0-0-1 0 => leaf-0-0-0 0 => leaf-0-1-0-0 1 => leaf-0-1-0-1 0 => leaf-0-1-0 0 => leaf-0-0
Affichage avec $mode = RecursiveIteratorIterator::SELF_FIRST
0 => Array 0 => Array 0 => Array 0 => leaf-0-0-0-0 1 => leaf-0-0-0-1 1 => leaf-0-0-0 1 => Array 0 => Array 0 => leaf-0-1-0-0 1 => leaf-0-1-0-1 1 => leaf-0-1-0 2 => leaf-0-0
Affichage avec $mode = RecursiveIteratorIterator::CHILD_FIRST
0 => leaf-0-0-0-0 1 => leaf-0-0-0-1 0 => Array 1 => leaf-0-0-0 0 => Array 0 => leaf-0-1-0-0 1 => leaf-0-1-0-1 0 => Array 1 => leaf-0-1-0 1 => Array 2 => leaf-0-0 0 => Array