PHP

SPL - Standard PHP Library

Iterator

V PHP je možné implementovat objekt přes který jde iterovat pomocí foreach(). Pro tuto funkčnost je potřeba aby objekt implemetoval rozhraní Iterator.

Rozhraní iterátoru:

Iterator    extends  Traversable   {
  /* Methods */
  abstract public mixed current ( void )
  abstract public scalar key ( void )
  abstract public void next ( void )
  abstract public void rewind ( void )
  abstract public boolean valid ( void )
}

Pseudokód pro iteraci pres foreach() je následující:

i::rewind();                        // presun na zacatek
while(i::valid()) {                 // je pozice iteratoru platna?
  $k = i::current(); $v = i::key(); // napln hodnoty
  i::next();                        // posun se na dalsi pozici
}

http://www.klok.cz/node/155