ReflectionClass::isIterable

(PHP 7 >= 7.2.0, PHP 8)

ReflectionClass::isIterableCheck 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