AppendIterator::__construct()
(PHP 5>=5.1.0,PHP 7)
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
注释
CautionWhen usingiterator_to_array()to copy the values of the AppendIterator into an array,you have to set the optional$use_keyargument toFALSE.When$use_keyis notFALSEany keys reoccuring in inner iterators will get overwritten in the returned array.There is no way to preserve the original keys.
参见
- AppendIterator::append() Appends an iterator
