instanceof 是 PHP 中的一个关键字,用于检查一个对象是否属于某个类或接口的实例。它的语法如下:
object instanceof ClassName
如果对象属于指定的类或接口,instanceof 将返回 true,否则返回 false。
示例:
class Animal {}
class Dog extends Animal {}
$dog = new Dog();
if ($dog instanceof Animal) {
echo "$dog 是 Animal 类的实例";
} else {
echo "$dog 不是 Animal 类的实例";
}
if ($dog instanceof Dog) {
echo "$dog 是 Dog 类的实例";
} else {
echo "$dog 不是 Dog 类的实例";
}
输出结果:
$dog 是 Animal 类的实例
$dog 是 Dog 类的实例
例如:$entity instanceof A
$entity instanceof A 表示判断变量 $entity 是否是类 A 或接口 A 的实例。
如果 $entity 是类 A 的实例,则表达式的结果为 true;如果 $entity 是接口 A 的实现类的实例,则结果也为 true;否则,结果为 false。
示例:
class A {}
class B extends A {}
$b = new B();
if ($b instanceof A) {
echo "$b 是 A 或 B 类的实例";
} else {
echo "$b 不是 A 或 B 类的实例";
}
输出结果:
$b 是 A 或 B 类的实例