php instanceof 与 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()

时间: 2024-11-13 18:48:05

php instanceof 与 is_a()区别的相关文章

Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别

Class.isAssignableFrom(Class clz)方法 与 instanceof 关键字的区别 博客分类: Java .netHTML 原地址:http://topic.csdn.net/t/20050127/15/3758173.html 我略作了下修改 Class.isAssignableFrom()是用来判断一个类Class1和另一个类Class2是否相同或是另一个类的子类或接口.   格式为:        Class1.isAssignableFrom(Class2)

type of 操作符和instanceof操作符的区别以及使用方法

经常见到用typeof和instanceof检测一个变量类型,作为前端小白经常不知道这两者具体的详细用法和区别,今天就整理一下谨记! javaScript中有6中数据类型: 1.Undefinde 2.Null 3.Number 4.String 5.Boolean 6.Object 1.typeof操作符 一个值使用typeof操作符会返回下列字符串: 1.Undefinde 2.Functon 如果值是函数 3.Number 4.String 5.Boolean 6.Object 如果值是对

java 中 instanceof 和 isInstance区别

两者的功能是等价的.区别: 1.instanceof 是一个操作符(类似new, ==等): 使用方法: if (ins instanceof String) { //logic } 2.isInstance是Class类的一个方法 使用方法: if (String.class.isInstance(ins)) { //... }

Java中instanceof和isInstance区别详解

 一次性搞定instanceof和isInstance,instanceof和isInstance长的非常像,用法也很类似,先看看这两个的用法: obj.instanceof(class) 也就是说这个对象是不是这种类型, 1.一个对象是本身类的一个对象 2.一个对象是本身类父类(父类的父类)和接口(接口的接口)的一个对象 3.所有对象都是Object 4.凡是null有关的都是false  null.instanceof(class) class.inInstance(obj) 这个对象能不能

typeof()和instanceof的用法区别

typeof() typeof() 是一个一元运算,放在一个运算数之前,运算数可以是任意类型.它返回值是一个字符串,该字符串说明运算数的类型.,typeof一般只能返回如下几个结果:number,boolean,string,function,object,undefined. 我们可以使用typeof来获取一个变量是否存在,如if(typeof a!="undefined"){alert("ok")},而不要去使用if(a)因为如果a不存在(未声明)则会出错,对于

typeof instanceof 之间的区别总结

typeof 它返回值是一个字符串,该字符串说明运算数的类型. a=1; b=true; c="c"; d=function(){ console.log(" is d"); } e={ e1:"is e1"} f=null; g=[1,2,3]; console.log("a typeof="+typeof(a)); console.log("b typeof="+typeof(b)); console.

判断js中各种数据的类型方法之typeof与0bject.prototype.toString讲解

转载自[脚本之家],原文链接:http://www.jb51.net/article/42864.htm 提醒大家,Object.prototype.toString().call(param)返回的[object class]中class首字母是大写,像JSON这种甚至都是大写,所以,大家判断的时候可以都转换成小写,以防出错 1.typeof(param) 返回param的类型(string) 这种方法是JS中的定义的全局方法,也是编译者们最常用的方法,优点就是使用简单.好记,缺点是不能很好的

javascript变量、作用域和内存问题......

1基本类型是指那些保存在栈内存的简单数据段,引用类型是指那些保存在堆内存中的对象,变量中保存的实际上只是一个指针. 2javascript中5种基本数据类型Undefined,Null,Boolean,Number和String 3事实上我们不能给基本类型的值添加属性,尽管在javascript这样做不会导致任何错误. var name = "Angela";name.age = 23;alert(name.age);//undefined; 4ECMAScript中所有函数的参数都是

PHP 面向对象编程中的一些函数操作

get_object_vars函数,将对象中有访问权限的的字段转为数组 <?php class foo {     private $a;     public $b = 1;     public $c;     private $d;     static $e;         public function test() {         var_dump(get_object_vars($this));     } } $test = new foo; var_dump(get_ob