AppendIterator::__construct

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

AppendIterator::__constructConstructs an AppendIterator

说明

public AppendIterator::__construct ( )

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

注释

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 reoccurring in inner iterators will get overwritten in the returned array. There is no way to preserve the original keys.

参见

User Contributed Notes

There are no user contributed notes for this page.