PHP Conference Japan 2024

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

参见

添加注释

用户贡献的注释 1 条注释

dhairya lakhera
8 年前
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