If I have a class that implements the Iterator interface, I can manually control how iteration in a foreach loop. But are there other ways in which
Iterator
foreach
Implement ArrayAccess in your class.
ArrayAccess
See the documentation here: http://www.php.net/arrayaccess