ReflectionClass::isInstance
(PHP 5, PHP 7, PHP 8)
ReflectionClass::isInstance — 检查类的实例
说明
public ReflectionClass::isInstance(object
$object
): bool检查对象是否为一个类的实例。
参数
-
object
-
待比较的对象。
返回值
成功时返回 true
, 或者在失败时返回 false
。
范例
示例 #1 ReflectionClass::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

User Contributed Notes 1 note
dhairya lakhera ¶
6 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));
备份地址:http://www.lvesu.com/blog/php/reflectionclass.isinstance.php