php中instanceof 与 is_a()区别分析

yipeiwu_com7年前PHP代码库

instanceof 运算符 和 is_a() 方法都是判断:某对象是否属于该类 或 该类是此对象的父类(用于确定一个 PHP 变量是否属于某一类 class 的实例)

是的话返回 TRUE,不是的话返回 FALSE

区别:

instanceof 运算符是 PHP 5 引进的。在此之前用 is_a(),但是后来 is_a() 被废弃而用 instanceof 替代了。

注意:

PHP 5.3.0 起,又恢复使用 is_a() 了。

总结:

现在PHP的服务环境普遍都使用PHP5.0+了,所以尽量使用 instanceof 来代替 is_a()

综上,如果你不知道你的服务器环境,那么建议你使用instanceof,以免造成不必要的麻烦

相关文章

分享PHP守护进程类

用PHP实现的Daemon类。可以在服务器上实现队列或者脱离 crontab 的计划任务。  使用的时候,继承于这个类,并重写 _doTask 方法,通过 main 初始化执...

for循环连续求和、九九乘法表代码

for循环的经典例子就是连续求和了:1+2+3+……+100,讲了一个多小时,还是有同学不会。做程序得有思想,有的同学一直敲键盘,也没搞出来。在做这个求和之前,我们要思考一下,求和其实就...

IIS安装Apache伪静态插件的具体操作图文

IIS安装Apache伪静态插件的具体操作图文

Apache和IIS分别有自己的伪静态操作方法,那在Servers2003_IIS需要给PHP程序使用伪静态呢?安装rewrite插件包。一、下载rewrite插件包,一般里面必须有ht...

推荐十款免费 WordPress 插件

推荐十款免费 WordPress 插件

2015必备wordpress插件列表。为了增强wordpress站点,一些优秀有效的免费wordpress 插件是必不可少的。 WordPress 插件用于提升 wordpress...

PHP一些有意思的小区别

单引号'和双引号"的区别:  首先是单引号要比双引号执行效率要高,因为双引号会对内容进行预处理。  例如:'$value' 输出字符 $value...