AppendIterator::__construct Создаёт AppendIterator &reftitle.description; public AppendIterator::__construct Создаёт AppendIterator. &reftitle.parameters; &no.function.parameters; &reftitle.examples; Итерация AppendIterator с помощью foreach append($pizzas); $appendIterator->append($toppings); foreach ($appendIterator as $key => $item) { echo $key . ' => ' . $item . PHP_EOL; } ?> ]]> &example.outputs; Margarita 1 => Siciliana 2 => Hawaii 0 => Cheese 1 => Anchovies 2 => Olives 3 => Pineapple 4 => Ham ]]> Итерация AppendIterator с помощью AppendIterator API append($pizzas); $appendIterator->append($toppings); while ($appendIterator->valid()) { printf( '%s => %s => %s%s', $appendIterator->getIteratorIndex(), $appendIterator->key(), $appendIterator->current(), PHP_EOL ); $appendIterator->next(); } ?> ]]> &example.outputs; 0 => Margarita 0 => 1 => Siciliana 0 => 2 => Hawaii 1 => 0 => Cheese 1 => 1 => Anchovies 1 => 2 => Olives 1 => 3 => Pineapple 1 => 4 => Ham ]]> &reftitle.notes; При использовании функции iterator_to_array для копирования значения AppendIterator в массив, вам необходимо установить дополнительный аргумент use_key в значение &false;. Когда use_key не принимает значение &false;, какие-либо ключи, повторно встречающиеся во внутренних итераторах, будут перезаписаны в возвращаемый массив. Сохранить оригинальные ключи невозможно. &reftitle.seealso; AppendIterator::append