ReflectionClass::isInstance()
(PHP 5, PHP 7)
检查类的实例
说明
public ReflectionClass::isInstance(object $object): bool
检查对象是否为一个类的实例。
参数
- $object
待比较的对象。
返回值
成功时返回TRUE
,或者在失败时返回FALSE
。
范例
Example #1ReflectionClass::isInstance()相关例子
<?php // Example usage $class = new ReflectionClass('Foo'); if ($class->isInstance($arg)) { echo "Yes"; } // Equivalent to if ($arg instanceof Foo) { echo "Yes"; } // Equivalent to if (is_a($arg, 'Foo')) { echo "Yes"; } ?>
以上例程的输出类似于:
Yes Yes Yes
参见
- ReflectionClass::isInterface() 检查类是否是一个接口(interface)
- 类型运算符(instanceof)
- 对象接口
is_a()
如果对象属于该类或该类是此对象的父类则返回 TRUE
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));