ReflectionClass::isIterable

Check whether this class is iterable

Description

public bool ReflectionClass::isIterable()

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)

See Also

  • ReflectionClass::__construct