ReflectionClass
PHP Manual

ReflectionClass::isIterateable

(PHP 5, PHP 7)

ReflectionClass::isIterateable反復処理が可能であるかどうかを調べる

説明

public bool ReflectionClass::isIterateable ( void )

反復処理が可能であるかどうかを調べます。

パラメータ

この関数にはパラメータはありません。

返り値

成功した場合に TRUE を、失敗した場合に FALSE を返します。

例1 ReflectionClass::isIterateable() の例

<?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_iterateable($class) {
    
$reflection = new ReflectionClass($class);
    
var_dump($reflection->isIterateable());
}

$classes = array("ArrayObject""IteratorClass""DerivedClass""NonIterator");

foreach (
$classes as $class) {
    echo 
"Is $class iterateable? ";
    
dump_iterateable($class);
}
?>

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

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

参考


ReflectionClass
PHP Manual