PHP实战中知识总结 / 面向对象 - instanceof关键字

instanceof是PHP5引入的新关键字。

使用这个关键字可以判断一个对象是类的实例、类的子类,还是实现了某个特定接口。

1、用法一

// 判断对象是否是某个类的实例
<?php
$obj = new Demo();
if ($obj instanceof Demo) {
  echo '$obj 是Demo类的一个实例。';
}

2、用法二

// 判断一个对象是否实现了某个接口
<?php
interface ExampleInterface
{
  public function interfaceMethod();
}
class ExampleClass implements ExampleInterface
{
  public function interfaceMethod()
  {
   return 'Hello World!';
  }
}
$exampleInstance = new ExampleClass();
if($exampleInstance instanceof ExampleInterface){
  echo '$exampleInstance 对象实现了ExampleInterface接口';
}

3、用法三

// 判断子类是否继承自某个基类
<?php
class Demo{}
class DemoSub extends Demo{}
$obj = new DemoSub();
if($obj instanceof Demo){
  echo 'DemoSub类继承自Demo类';
}

PHP实战中知识总结