array ( 0 => 'index.php', 1 => 'PHP Manual', ), 'head' => array ( 0 => 'UTF-8', 1 => 'fr', ), 'this' => array ( 0 => 'appenditerator.construct.php', 1 => 'AppendIterator::__construct', ), 'up' => array ( 0 => 'class.appenditerator.php', 1 => 'AppendIterator', ), 'prev' => array ( 0 => 'appenditerator.append.php', 1 => 'AppendIterator::append', ), 'next' => array ( 0 => 'appenditerator.current.php', 1 => 'AppendIterator::current', ), 'alternatives' => array ( ), 'source' => array ( 'lang' => 'fr', 'path' => 'reference/spl/appenditerator/construct.xml', ), ); $setup["toc"] = $TOC; $setup["toc_deprecated"] = $TOC_DEPRECATED; $setup["parents"] = $PARENTS; manual_setup($setup); ?>
(PHP 5 >= 5.1.0, PHP 7, PHP 8)
AppendIterator::__construct — Construit un objet AppendIterator
Cette fonction ne contient aucun paramètre.
Exemple #1 Itère un AppendIterator avec la structure foreach
<?php
$pizzas = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));
$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);
foreach ($appendIterator as $key => $item) {
echo $key . ' => ' . $item . PHP_EOL;
}
?>
L'exemple ci-dessus va afficher :
0 => Margarita 1 => Siciliana 2 => Hawaii 0 => Cheese 1 => Anchovies 2 => Olives 3 => Pineapple 4 => Ham
Exemple #2 Itère un AppendIterator avec l'API AppendIterator
<?php
$pizzas = new ArrayIterator(array('Margarita', 'Siciliana', 'Hawaii'));
$toppings = new ArrayIterator(array('Cheese', 'Anchovies', 'Olives', 'Pineapple', 'Ham'));
$appendIterator = new AppendIterator;
$appendIterator->append($pizzas);
$appendIterator->append($toppings);
while ($appendIterator->valid()) {
printf(
'%s => %s => %s%s',
$appendIterator->getIteratorIndex(),
$appendIterator->key(),
$appendIterator->current(),
PHP_EOL
);
$appendIterator->next();
}
?>
L'exemple ci-dessus va afficher :
0 => 0 => Margarita 0 => 1 => Siciliana 0 => 2 => Hawaii 1 => 0 => Cheese 1 => 1 => Anchovies 1 => 2 => Olives 1 => 3 => Pineapple 1 => 4 => Ham
Lors de l'utilisation de iterator_to_array()
pour copier les valeurs d'un AppendIterator dans un tableau,
vous devez définir le paramètre optionnel
use_key
à false
.
Lorsque use_key
ne vaut pas false
,
toutes les clés survenant de nouveaux dans l'itérateur inférieur
seront écrasées dans le tableau résultant. Il n'y a aucun
moyen de préserver les clés originales.