ReflectionClass::isIterable

(PHP 7 >= 7.2.0, PHP 8)

ReflectionClass::isIterableПроверяет, итерируемый ли класс

Описание

public ReflectionClass::isIterable(): bool

Метод проверяет, принадлежит ли класс типу Traversable, который возможно перебрать в цикле foreach.

Список параметров

Сигнатура функции не содержит параметров.

Возвращаемые значения

Метод возвращает значение true, если класс итерируемый, иначе возвращает значение false.

Примеры

Пример #1 Пример проверки доступности класса для перебора методом 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
"Класс $class итерируемый? ";
dump_iterable($class);
}

?>

Результат выполнения приведённого примера:

Класс ArrayObject итерируемый? bool(true)
Класс IteratorClass итерируемый? bool(true)
Класс DerivedClass итерируемый? bool(true)
Класс NonIterator итерируемый? bool(false)

Смотрите также

Добавить

Примечания пользователей

Пользователи ещё не добавляли примечания для страницы
To Top