instanceof是php5中新增的关键字,它的作用有2个:(1)判断一个对象是否是某个类的实例,(2)判断一个对象是否实现了某个接口。
一般格式为:ObjectName instanceof ClassName
(1)判断一个对象是否是某个类的实例
下面针对第一种用法我们来看个实例:
首先创建一个父类,再创建一个子类去继承父类。实例化子类对象,然后去判断对象是不是属于子类,再判断是不是属于父类。
<?php header("content-type:text/html;charset=utf-8"); class Itbook{ } class phpBook extends Itbook{ private $bookname; } $phpbook = new phpBook(); if($phpbook instanceof phpBook){ echo '$phpbook属于phpBook类<br/>'; } if($phpbook instanceof Itbook){ echo '$phpbook属于Itbook类'; }
(2)判断一个对象是否实现了某个接口
上面是关于instanceof的第一种用法实例,下面我们写个有关第二种用法的实例:
interface ExampleInterface { public function interfaceMethod(); } class ExampleClass implements ExampleInterface { public function interfaceMethod() { return 'php中文网'; } } $exampleInstance = new ExampleClass(); if($exampleInstance instanceof ExampleInterface){ echo '我在php中文网'; }else{ echo '你也一起来吧'; }
代码解读:
先创建一个接口类ExampleInterface,定义方法,再创建个子类接口,定义方法。接着实例化接口,然后判断,其实和第一种用法差不多,只是关键字变化一下,别的都一样。
以上是php面向对象之instanceof关键字的用法的详细内容。更多信息请关注PHP中文网其他相关文章!