ReflectionClass::isInstance

(PHP 5, PHP 7, PHP 8)

ReflectionClass::isInstanceクラスのインスタンスであるかどうかを調べる

説明

public ReflectionClass::isInstance(object $object): bool

あるオブジェクトがクラスのインスタンスであるかどうかを調べます。

パラメータ

object

比べたいオブジェクト。

戻り値

オブジェクトがクラスのインスタンスの場合は、true を返します。 そうでない場合は、false を返します。

例1 ReflectionClass::isInstance() の例

<?php

class Foo {}

$object = new Foo();

$reflection = new ReflectionClass('Foo');

if (
$reflection->isInstance($object)) {
echo
"Yes\n";
}

// これも同じ意味です
if ($object instanceof Foo) {
echo
"Yes\n";
}

// これも同じ意味です
if (is_a($object, 'Foo')) {
echo
"Yes";
}
?>

上の例の出力は、 たとえば以下のようになります。

Yes
Yes
Yes

参考

add a note

User Contributed Notes 1 note

up
0
dhairya lakhera
9 years ago
class  TestClass { }$TestObj=new TestClass();$TestObj_assigned=$TestObj;$TestObj_Refrenced=&$TestObj;$TestObj_cloned=clone $TestObj;$obj=new ReflectionClass('TestClass');var_dump($obj->isInstance($TestObj)); var_dump($obj->isInstance($TestObj_assigned)); var_dump($obj->isInstance($TestObj_Refrenced)); var_dump($obj->isInstance($TestObj_cloned));
To Top