PHP Conference Nagoya 2025

ReflectionClass::isInstance

(PHP 5, PHP 7, PHP 8)

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

説明

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

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

パラメータ

object

比べたいオブジェクト。

戻り値

成功した場合に true を、失敗した場合に false を返します。

例1 ReflectionClass::isInstance() の例

<?php
// 使用例
$class = new ReflectionClass('Foo');

if (
$class->isInstance($arg)) {
echo
"Yes";
}

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

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

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

Yes
Yes
Yes

参考

add a note

User Contributed Notes 1 note

up
0
dhairya lakhera
8 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