php的is_null+empty+isset+unset
empty,isset首先都会检查变量是否存在,然后对变量值进行检测。而is_null 只是直接检查变量值,是否为null,因此如果变量未定义就会出现错误!
以后:
检测一个变量是否是null 用:is_null,但如果变量未定义用它检测会出错。//判断null用is_null(),如果变量未定义,则报错
检测变量是否定义可以用:isset ,但是如果一个变量值是:null, 则它会返回false . //判断变量是否定义,用isset,如果变量值是null则返回false
empty 与 isset区别
1、对待$c = null,的处理上 isset 返回false,empty 返回true
unset是直接删除变量
$a="hello"; $b= $a; // echo $b.‘sss‘.$a; // echo hello unset($b); echo $b; //unset 是去掉变量定义,所以输出会报错
变量相互赋值:
//变量相互赋值 $a="hello"; $b= $a; echo $b.‘sss‘.$a; // echo hello $a = "world"; echo $b.$a; //输出 hello world 说明变量相互赋值是 拷贝一个副本 unset($b); echo $b; //unset 是去掉变量定义,所以输出会报错 //对象相互赋值 class A{ public $num=100; } $a = new A(); $b = $a; //指向同一个对象 $a->num=200; echo $b->num; //输出200
综述:变量相互赋值,是拷贝副本。如果变量是对象,相互赋值是指向同一个对象
相关链接:
http://www.cnblogs.com/chengmo/archive/2010/10/18/1854258.html
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。