PHP 8.4.0 RC4 available for testing

AppendIterator::__construct

(PHP 5 >= 5.1.0, PHP 7, PHP 8)

AppendIterator::__constructConstruit un objet AppendIterator

Description

public AppendIterator::__construct()

Construit un objet AppendIterator.

Liste de paramètres

Cette fonction ne contient aucun paramètre.

Exemples

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

Notes

Attention

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.

Voir aussi

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top