<?php
class IteratorClass implements Iterator {
public function __construct() { }
public function key() { }
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 "Является ли класс $class итерируемым? ";
dump_iterateable($class);
}
?>
Результат выполнения данного примера:
Является ли класс ArrayObject итерируемым? bool(true)
Является ли класс IteratorClass итерируемым? bool(true)
Является ли класс DerivedClass итерируемым? bool(true)
Является ли класс NonIterator итерируемым? bool(false)