在PHP中,instanceof 運(yùn)算符用于確定一個(gè)對(duì)象是否是一個(gè)類的實(shí)例或者是一個(gè)類的子類的實(shí)例。它的作用是判斷一個(gè)對(duì)象是否的類型是否為某個(gè)類或其子類,返回一個(gè)布爾值。通常用于類型檢查和對(duì)象的多態(tài)性判斷。
instanceof 的語(yǔ)法如下:
$object instanceof ClassName
其中,$object 是一個(gè)對(duì)象,ClassName 是一個(gè)類名。
示例:
class Animal {
// ...
}
class Dog extends Animal {
// ...
}
$animal = new Animal();
$dog = new Dog();
var_dump($animal instanceof Animal); // bool(true)
var_dump($animal instanceof Dog); // bool(false)
var_dump($dog instanceof Animal); // bool(true)
var_dump($dog instanceof Dog); // bool(true)
在上面的例子中,$animal 是 Animal 類的一個(gè)實(shí)例,因此 $animal instanceof Animal 返回布爾值 true。而 $animal 不是 Dog 類的實(shí)例,所以 $animal instanceof Dog 返回布爾值 false。$dog 是 Dog 類的一個(gè)實(shí)例,同時(shí)也是 Animal 類的一個(gè)實(shí)例,所以 $dog instanceof Animal 和 $dog instanceof Dog 都返回布爾值 true。