Rumah >pembangunan bahagian belakang >tutorial php >php面向对象之instanceof关键字的用法

php面向对象之instanceof关键字的用法

巴扎黑
巴扎黑asal
2017-04-17 16:48:222874semak imbas

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 &#39;$phpbook属于phpBook类<br/>&#39;;
}
if($phpbook instanceof Itbook){
echo &#39;$phpbook属于Itbook类&#39;;
}

(2)判断一个对象是否实现了某个接口

上面是关于instanceof的第一种用法实例,下面我们写个有关第二种用法的实例:

interface ExampleInterface
{
public function interfaceMethod();
}
class ExampleClass implements ExampleInterface
{
public function interfaceMethod()
{
return &#39;php中文网&#39;;
}
}
$exampleInstance = new ExampleClass();
if($exampleInstance instanceof ExampleInterface){
echo &#39;我在php中文网&#39;;
}else{
echo &#39;你也一起来吧&#39;;
}

代码解读:

先创建一个接口类ExampleInterface,定义方法,再创建个子类接口,定义方法。接着实例化接口,然后判断,其实和第一种用法差不多,只是关键字变化一下,别的都一样。

Atas ialah kandungan terperinci php面向对象之instanceof关键字的用法. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn