©
This document uses PHP Chinese website manual Release
(PHP 5 >= 5.1.0)
AppendIterator::__construct — Constructs an AppendIterator
Constructs an AppendIterator.
此函数没有参数。
没有返回值。
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 ;
}
?>
以上例程会输出:
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 ();
}
?>
以上例程会输出:
0 => 0 => Margarita 0 => 1 => Siciliana 0 => 2 => Hawaii 1 => 0 => Cheese 1 => 1 => Anchovies 1 => 2 => Olives 1 => 3 => Pineapple 1 => 4 => Ham
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.