PHP Conference Nagoya 2025

ReflectionClass::isIterable

(PHP 7 >= 7.2.0, PHP 8)

ReflectionClass::isIterableこのクラスがイテレーション可能かを調べる

説明

public ReflectionClass::isIterable(): bool

このクラスがイテレーション可能か(つまり、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
"Is $class iterable? ";
dump_iterable($class);
}
?>

上の例の出力は以下となります。

Is ArrayObject iterable? bool(true)
Is IteratorClass iterable? bool(true)
Is DerivedClass iterable? bool(true)
Is NonIterator iterable? bool(false)

参考

add a note

User Contributed Notes

There are no user contributed notes for this page.
To Top