博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
PHP中instanceof关键字
阅读量:5880 次
发布时间:2019-06-19

本文共 1338 字,大约阅读时间需要 4 分钟。

  instanceof关键字是PHP5新增的新成员。在一些情况下,我们希望确定某个类属于哪种特定的类型、或者是否实现了特定的接口,这时我们就可以使用这个关键字确定一个对象是否是某个特定的类型,是否是从某个特定的类型继承以及它或它的任何祖先类是否实现了特定的接口。

  例如,假设希望了解名为test的对象是否为类Test的实例:

1 

instanceof关键字在同时处理多个对象是特别有用。例如,你可能要重复地调用某一个函数,希望根据对象类型调整函数的行为。可以使用case语句和instanceof关键字实现这个目标。

1 
'; 10 switch ($a instanceof Test){11 case true :12 echo 'YES
';13 break;14 case false :15 echo 'No
'; 16 break;17 }18 $d = new testChilern();19 if($d instanceof Test)20 echo '$d是类Test的子类!
';

我们还可以使用instanceof关键字判断一个对象是否实现了某一个接口

1 

另外,需注意 instanceof 与 is_subclass_of() 的区别,请看代码:

1 
foobar . "\n"; 8 } 9 }10 class Bar extends Foo {11 public $foobar = 'Bar';12 }13 $a = new Foo();14 $b = new Bar();15 echo "use of test() method\n";16 $a->test();17 $b->test();18 echo "instanceof Foo\n";19 var_dump($a instanceof Foo); // TRUE20 var_dump($b instanceof Foo); // TRUE21 echo "instanceof Bar\n";22 var_dump($a instanceof Bar); // FALSE23 var_dump($b instanceof Bar); // TRUE24 echo "subclass of Foo\n";25 var_dump(is_subclass_of($a, 'Foo')); // FALSE26 var_dump(is_subclass_of($b, 'Foo')); // TRUE27 echo "subclass of Bar\n";28 var_dump(is_subclass_of($a, 'Bar')); // FALSE29 var_dump(is_subclass_of($b, 'Bar')); // FALSE
View Code

is_subclass_of 的作用就是判断一个对象是否是该类的子类,是则返回 TRUE。

 

转载于:https://www.cnblogs.com/heyijing/p/5088582.html

你可能感兴趣的文章
Maven入门指南(一)—— Maven下载与安装
查看>>
java - xml解析
查看>>
2020
查看>>
Docker容器(分享十五)
查看>>
Django如何重设Admin密码
查看>>
【C++基础】 各种“虚”总结(ing...)
查看>>
python 全局变量
查看>>
git学习
查看>>
获取时间代码
查看>>
resolv.conf
查看>>
java redispool测试类保存
查看>>
一种简单的对象赋值方法,定义实例后以{}赋值,比传统方法更简洁
查看>>
C#中的委托和事件
查看>>
Python: 正则表达式
查看>>
android GSM+CDMA基站定位
查看>>
Oracle 获取本周、本月、本季、本年的第一天和最后一天
查看>>
远程通知推送后台代码( PHP 和 java )
查看>>
python(列表及列表的相关操作、元组和range)
查看>>
Linux下编译安装redis
查看>>
ios 开发failed to chmod
查看>>