instanceof函数是php5中新添的面向对象的函数。
他主要的作用是检测一个给定的对象是否属于(继承于)某个类(class)、某个类的子类、某个接口(interface)。
如果是则返回true。反之返回false;
看下面的代码你就了解他的意思了。<?php
class baseClass {}
class subClass extends baseClass{}
interface aInterface {}
class aClass implements aInterface {}
$a = new baseClass();
var_dump($a instanceof baseClass);
$b = new subClass();
var_dump($b instanceof baseClass);
$c = new aClass();
var_dump($c instanceof aInterface);
var_dump($c instanceof subClass);
?>
结果为
bool(true)bool(true)
bool(true)
bool(false)
它其实就是检测对象与类的从属关系。
有从属关系就是true,无论是继承还是接口。
常用于单例模式。