Второй цикл ничего не выведет, поскольку итератор используется только один раз
и не может быть возвращен в начало.
<?php
$fruit = array('яблоко', 'банан, 'клюква');
$arr = new ArrayObject($fruit);
$it = new NoRewindIterator($arr->getIterator());
echo "Фрукт А:\n";
foreach( $it as $item ) {
echo $item . "\n";
}
echo "Фрукт Б:\n";
foreach( $it as $item ) {
echo $item . "\n";
}
?>
Результатом выполнения данного примера
будет что-то подобное:
Фрукт А:
яблоко
банан
клюква
Фрукт Б: