AppendIterator::__construct
AppendIterator::__construct
(PHP 5 >= 5.1.0, PHP 7)
AppendIterator::__construct — Constructs an AppendIterator
Description
public AppendIterator::
_
_
construct
( void )
Constructs an AppendIterator.
Parameters
This function has no parameters.
Return Values
No value is returned.
Examples
Example #1 Iterating AppendIterator with 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;
}
?>
The above example will output:
0 => Margarita
1 => Siciliana
2 => Hawaii
0 => Cheese
1 => Anchovies
2 => Olives
3 => Pineapple
4 => Ham
Example #2 Iterating AppendIterator with the AppendIterator API
<?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(
}
?>
The above example will output:
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
Caution
When using iterator_to_array() to copy the values of the AppendIterator into an array, you have to set the optional use_key
argument to FALSE
. When use_key
is not FALSE
any keys reoccuring in inner iterators will get overwritten in the returned array. There is no way to preserve the original keys.
See Also
- AppendIterator::append() - Appends an iterator
← AppendIterator::append
AppendIterator::current →
© 1997–2017 The PHP Documentation Group
Licensed under the Creative Commons Attribution License v3.0 or later.
https://secure.php.net/manual/en/appenditerator.construct.php