ReflectionClass::isIterable

(PHP 7 >= 7.2.0, PHP 8)

ReflectionClass::isIterableVerifica si esta clase es iterable

Descripción

public function ReflectionClass::isIterable(): bool

Verifica si esta clase es iterable (es decir, que puede ser utilizada en foreach).

Parámetros

Esta función no contiene ningún parámetro.

Valores devueltos

Retorna true si la clase es iterable o false en caso contrario.

Ejemplos

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)

Ver también