Класс InfiniteIterator

(PHP 5 >= 5.1.0, PHP 7)

Введение

Класс InfiniteIterator позволяет сделать бесконечный перебор итератора без необходимости вручную перебирать итератор до момента достижения его конца.

Обзор классов

InfiniteIterator extends IteratorIterator implements OuterIterator {
/* Методы */
public __construct ( Iterator $iterator )
public void next ( void )
/* Наследуемые методы */
public mixed IteratorIterator::current ( void )
public Traversable IteratorIterator::getInnerIterator ( void )
public scalar IteratorIterator::key ( void )
public void IteratorIterator::next ( void )
public void IteratorIterator::rewind ( void )
public bool IteratorIterator::valid ( void )
}

Содержание

Коментарии

Автор:
to loop through object keys and reset to the start, try this:
<?php

$obj 
= new stdClass();
$obj->Mon "Monday";
$obj->Tue "Tuesday";
$obj->Wed "Wednesday";
$obj->Thu "Thursday";
$obj->Fri "Friday";
$obj->Sat "Saturday";
$obj->Sun "Sunday";

$infinate = new InfiniteIterator(new ArrayIterator($obj));
foreach ( new 
LimitIterator($infinate014) as $value ) {
    print(
$value PHP_EOL);
}

?>

will output:

Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday
Monday
Tuesday
Wednesday
Thursday
Friday
Saturday
Sunday

Can be useful when doing date operations or recurring events
2012-10-16 03:47:36
http://php5.kiev.ua/manual/ru/class.infiniteiterator.html
It is important to realise that rewind() must be called on any iterator before using it or you may experience undefined behaviour, see example code and output here http://3v4l.org/rvNpU

See this bug report https://bugs.php.net/bug.php?id=63823&edit=2 for a fuller explanation.
2013-06-04 16:54:09
http://php5.kiev.ua/manual/ru/class.infiniteiterator.html

    Поддержать сайт на родительском проекте КГБ