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 }