downloads | documentation | faq | getting help | mailing lists | licenses | wiki | reporting bugs | php.net sites | conferences | my php.net

search for in the

InfiniteIterator::__construct> <GlobIterator::count
[edit] Last updated: Fri, 26 Apr 2013

view this page in

The InfiniteIterator class

(PHP 5 >= 5.1.0)

Introduction

The InfiniteIterator allows one to infinitely iterate over an iterator without having to manually rewind the iterator upon reaching its end.

Class synopsis

InfiniteIterator extends IteratorIterator implements OuterIterator , Traversable , Iterator {
/* Methods */
public __construct ( Iterator $iterator )
public void next ( void )
/* Inherited methods */
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 )
}

Table of Contents



add a note add a note User Contributed Notes InfiniteIterator - [1 notes]
up
4
Anonymous
6 months ago
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($infinate, 0, 14) 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

 
show source | credits | stats | sitemap | contact | advertising | mirror sites