<?php class BasicClass { } function dump_iterateable($obj) { $reflection = new ReflectionClass($obj); var_dump($reflection->isIterateable()); } $basicClass = new BasicClass(); $stdClass = new StdClass(); dump_iterateable($basicClass); dump_iterateable($stdClass);
{ } public function current() { } function next() { } function valid() { } function rewind() { } } class DerivedClass extends IteratorClass { } class NonIterator { } function dump_iterateable($class) { $reflection = new ReflectionClass($class); var_dump($reflection->isIterateable()); } $classes = array("ArrayObject", "IteratorClass", "DerivedClass", "NonIterator"); foreach ($classes as $class) { echo "Is {$class} iterateable? "; dump_iterateable($class); }