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中的全部内容,这是
介绍给你。希望你能喜欢。