instanceof是php5中新增的关键字,它的作用有2个:
(1)判断一个对象是否是某个类的实例,
(2)判断一个对象是否实现了某个接口。
一般格式为:ObjectName instanceof ClassName
(1)判断一个对象是否是某个类的实例
下面针对第一种用法我们来看个实例:[大理石构件]大理石构件怎么加工?
首先创建一个父类,再创建一个子类去继承父类。实例化子类对象,然后去判断对象是不是属于子类,再判断是不是属于父类。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
|
<?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的第一种用法实例,下面我们写个有关第二种用法的实例:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
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,定义方法,再创建个子类接口,定义方法。接着实例化接口,然后判断,其实和第一种用法差不多,只是关键字变化一下,别的都一样。