Check whether this class is iterable

- « ReflectionClass::isInternal

- ReflectionClass::isIterateable »

- PHP Manual
- ReflectionClass
- Check whether this class is iterable

# ReflectionClass::isIterable

(PHP 7 >= 7.2.0, PHP 8)

ReflectionClass::isIterable — Check whether this class is iterable

### Description

public ReflectionClass::isIterable(): bool

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() - Constructs a ReflectionClass