instanceof 用于确定一个 PHP 变量是否属于某一类 class 的实例:
<?php class MyClass { } class NotMyClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof NotMyClass); ?> 以上例程会输出: bool(true) bool(false)
instanceof 也可用来确定一个变量是不是继承自某一父类的子类的实例:
<?php class ParentClass { } class MyClass extends ParentClass { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof ParentClass); ?>
以上例程会输出:
bool(true) bool(true)
最后,instanceof也可用于确定一个变量是不是实现了某个接口的对象的实例:
对接口使用 instanceof <?php interface MyInterface { } class MyClass implements MyInterface { } $a = new MyClass; var_dump($a instanceof MyClass); var_dump($a instanceof MyInterface); ?> 以上例程会输出: bool(true) bool(true)
http://php.net/manual/zh/language.operators.type.php