php中instanceof 与 is_a()区别分析
投稿:hebedich
总的来说php中instanceof 与 is_a()功能是一样的,不同的是由于PHP的版本不同,部分PHP版本舍弃了is_a() 下面我们来具体分析下吧。
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,以免造成不必要的麻烦