(PHP 7 >= 7.2.0, PHP 8)
ReflectionClass::isIterable — Verifica si esta clase es iterable
Verifica si esta clase es iterable (es decir, que puede ser utilizada en foreach).
Esta función no contiene ningún parámetro.
Ejemplo #1 Uso simple de ReflectionClass::isIterable()
<?php
class IteratorClass implements Iterator
{
public function __construct() {}
public function key(): mixed {}
public function current(): mixed {}
public function next(): void {}
public function valid(): bool {}
public function rewind(): void {}
}
class DerivedClass extends IteratorClass {}
class NonIterator {}
function dump_iterable($class)
{
$reflection = new ReflectionClass($class);
var_dump($reflection->isIterable());
}
$classes = ["ArrayObject", "IteratorClass", "DerivedClass", "NonIterator",];
foreach ($classes as $class) {
echo "¿Es $class iterable? ";
dump_iterable($class);
}
?>El ejemplo anterior mostrará:
¿Es ArrayObject iterable? bool(true) ¿Es IteratorClass iterable? bool(true) ¿Es DerivedClass iterable? bool(true) ¿Es NonIterator iterable? bool(false)