イテレータ
hashなどのオブジェクトが高階関数として実装しているイテレータのことを内部イテレータという。 主にオブジェクト指向プログラミングの性質に基づき通常外部から明示的に使用することはないイテレータを指す。
PHPではIteratorインターフェイスを実装することにより、任意のイテレータを定義することができる。Iteratorインターフェイスを実装したオブジェクトをforeachやwhileで使用することで反復を行うことができる。 また、配列はIteratorインターフェイスを暗黙に実装する。