ConFoo 2025

ReflectionClass::isIterable

(PHP 7 >= 7.2.0, PHP 8)

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

Описание

public ReflectionClass::isIterable(): bool

Метод проверяет, реализует ли класс интерфейс Iterator, т. е. получится ли обойти класс в цикле foreach.

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

У этой функции нет параметров.

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

Функция возвращает true в случае успешного выполнения или false, если возникла ошибка.

Примеры

Пример #1 Пример использования метода ReflectionClass::isIterable()

<?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
"Класс $class итерируемый? ";
dump_iterable($class);
}

?>

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

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

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

Добавить

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

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