PHP5的另一个新成员是instdnceof关键字,这个关键字可以用来判断一个对象是类的一个实例,一个类的子类,或一个特定的接口,和一个相应的操作。在某些情况下,我们要确定一个特定的类是具体的,或是一个特定的接口实施。instanceof运算符是非常适合这项任务,instanceof检查三件事:是否一个实例是一个特定类型的实例,是否是从一个特定类型的继承,无论是实例或任何祖先类实现特定的接口。例如,假设你想知道一个对象命名的经理是一个员工类的实例:


新员工();
…
如果($经理是员工)
;


有两点需要注意。首先,类的名字没有任何分隔符(引用)。使用分隔符将导致语法错误。其次,如果比较失败,脚本将退出。instanceof关键字是特别有用当处理多个对象在同一时间。例如,你可能需要调用一个函数的反复,但你要根据对象类型调整功能的行为。case语句和instanceof关键字可以用来实现这一目标。


类测试{ }
类测试{ }
类testchilern延伸试验{ }
$ =新测试();
新测试();
我=($m instanceof测试);
如果(i美元)
m是一个类测试的实例!;获取这个值
开关($ instanceof测试){
情况真的:
echo'yes;
打破;
案例假:
echo'no '; / /得到这个值
打破;
}
美元D =新testchilern();
如果($ instanceof测试)回波美元D是类测试类!;获取这个值


instanceof在PHP中的作用是什么

功能:(1)确定一个对象是否是一个类的实例,(2)判断一个对象是否实现了一个接口。



第一次使用:


< PHP
$ obj =新一();
如果($ obj实例一){
echo'a;
}


第二用途:


< PHP
接口exampleinterface
{
公共功能界面法();
}
exampleclass exampleinterface类实现
{
公共功能界面法()
{
return'hello世界!;
}
}
exampleinstance美元=新ExampleClass();
如果($ exampleinstance是exampleinterface){
echo'yes,它是';
其他{ }
echo'no,它不是;
}
>


输出结果:是的,它是

另外,你需要注意的是,is_subclass_of之间的差异(),看代码:




< PHP
类Foo {
公共'foo foobar =美元;
公共功能测试(){
echo $这-> foobar。;
}
}
类栏扩展{ {
公共'bar foobar =美元;
}
$ =新富();
新栏();
使用测试()方法;
测试();
测试();
回声instanceof Foo ;
var_dump($ instanceof Foo); / /真的
var_dump($ instanceof Foo); / /真的
回声是吧;
var_dump($一是酒吧); / /假
var_dump($ B是吧); / /真的
子类;
var_dump(is_subclass_of($,'foo ')); / /假
var_dump(is_subclass_of($,'foo ')); / /真的
bar的子类;
var_dump(is_subclass_of($,'bar ')); / /假
var_dump(is_subclass_of($,'bar ')); / /假
>


输出结果(PHP 5.4.4):

使用测试()方法

Foo

酒吧

instanceof Foo

布尔(真的)

布尔(真的)

是吧

Bool(假)

布尔(真的)

类Foo

Bool(假)

布尔(真的)

子类的吧

Bool(假)



以上内容是instanceof关键字instanceof关键字和PHP中的全部内容,这是介绍给你。希望你能喜欢。