php中null,0,'',false的区别

来源:互联网 发布:国外域名注册平台 编辑:程序博客网 时间:2024/05/21 19:49

empty()函数用来判断字符串是否为空

只要变量是0,null,'',false,empty()都判断为true。

    $num1='';    $num2=0;    echo $num1==$num2;    echo '<br/>';    echo $num1===$num2 ? '1' : '0';

结果为:


原因是在PHP中变量时以C语言的结构体来存储的,空字符串和NULL,false都是以值为0存储的,其中这个结构体有个zend_uchartype;这样的成员变量,它是用来保存变量的类型的,而空字符串的类型是string,NULL的类型是NULL,false是boolean。而===运算符不仅比较值,还比较类型。

判断空字符串和0可以这样:

    $num1='';    $num2=0;    if(empty($num1) && $num1===''){    echo "true";    }    if(empty($num2) && $num2===0){    echo 'true';    }
结果为:



0 0
原创粉丝点击