• 首页
  • vue
  • TypeScript
  • JavaScript
  • scss
  • css3
  • html5
  • php
  • MySQL
  • redis
  • jQuery
  • ReflectionClass::isInstance()

    (PHP 5, PHP 7)

    检查类的实例

    说明

    publicReflectionClass::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));