Usages

Simple usage :

$i = $iterable->getNewIterator();
for (; $i->isValid(); $i->next()) {
    $value =& $i->value();
    // work with $value
}

Another for example :

for ($i = $iterable->getNewIterator(); $i->isValid(); $i->next()) {
    $value =& $i->value();
    // work with $value
}

If the iterator already be used, we can use it another time after a reset.

for ($i->reset(); $i->isValid(); $i->next()) {
    $value =& $i->value();
}

Iterators may also be used with whiles :

$i = $iterable->getNewIterator();
while ($i->isValid())
{
    $value =& $i->value();
    $i->next();
}