Создает AppendIterator


(PHP 5 >= 5.1.0)

AppendIterator::__constructСоздает AppendIterator

Описание

public AppendIterator::__construct ( void )

Создает AppendIterator.

Список параметров

У этой функции нет параметров.

Возвращаемые значения

Эта функция не возвращает значения после выполнения.

Примеры

Пример #1 Итерация AppendIterator с помощью 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 

Пример #2 Итерация AppendIterator с помощью 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 

Примечания

Предостережение

При использовании функции iterator_to_array() для копирования значения AppendIterator в массив, вам необходимо установить дополнительный аргумент use_key в значение FALSE. Когда use_key не принимает значение FALSE, какие-либо ключи, повторно встречающиеся во внутренних итераторах, будут перезаписаны в возвращаемый массив. Сохранить оригинальные ключи невозможно.

Смотрите также