(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