PHP中,0和null的区别
不知道大家在MySQL数据库中存储默认数据为0的字段时,但是在程序中判断0或者Null的时候出现了差错,因为0和Null不是完全相等的,看似简单的问题,却在判断的时候很是令人棘
手,Null和0的值是相同的,但是类型却不是一样。简单点就是==和===的差别,第一个==是值相同就好,但是===不仅需要值相同还需要值的类型也要是一样的。
Null是一种特殊的类型,两种类型为Null,比如下面的代码:
1. $var = NULL;
2. $var;
3.0、"0"、NULL以及没有任何属性的对象都将被认为是空的。
看下面的例子
$str1 = null;
$str2 = 0;
echo $str1==$str2 ? ‘相等’ : ‘不相等’;
$str3 = "";
$str4 = 0;
echo $str3==$str4 ? ‘相等’ : ‘不相等’;
$str5 = 0;
$str6 = '0';
echo $str5===$str6 ? ‘相等’ : ‘不相等’;
$str7=0;
$str= null ;
echo $str7==$str8 ? ‘相等’ : ‘不相等’;
?>
运行结果
‘相等’‘相等’‘不相等’‘相等’
所以,0和Null的值是相等的,但是它们的类型是不相等的。好了,稍稍做了下 PHP 0 和null区别 的总结,总之,如果分不清楚的话,多作几个判断就OK了。
本条技术文章来源于互联网,如果无意侵犯您的权益请点击此处反馈版权投诉
本文系统来源:php中文网