PHP 8.6.0 Beta 1 is available for testing

ReflectionClass::isIterable

(PHP 7 >= 7.2.0, PHP 8)

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

Описание

public function 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)

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

Нашли ошибку?

ИнструкцияИсправлениеСообщение об ошибке
+Добавить

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

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

AltStyle によって変換されたページ (->オリジナル) /