AppendIterator::append
AppendIterator::current
AppendIterator
PHP Manual

# 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