ReflectionClass::isIterable
(PHP 7 >= 7.2.0, PHP 8)
ReflectionClass::isIterable — Check whether this class is iterable
Description
Check whether this class is iterable (i.e. can be used inside foreach).
Parameters
This function has no parameters.
Return Values
Returns true
on success or false
on failure.
Examples
Example #1 Basic ReflectionClass::isIterable() Usage
<?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_iterable($class) {
$reflection = new ReflectionClass($class);
var_dump($reflection->isIterable());
}
$classes = array("ArrayObject", "IteratorClass", "DerivedClass", "NonIterator");
foreach ($classes as $class) {
echo "Is $class iterable? ";
dump_iterable($class);
}
?>
The above example will output:
Is ArrayObject iterable? bool(true) Is IteratorClass iterable? bool(true) Is DerivedClass iterable? bool(true) Is NonIterator iterable? bool(false)