A-A+
PHP 0 和null的区别
遇到一个技术性的问题,在MYSQL数据库中存储了默认数据为0的字段,结果在判断0或者null的时候出现了差错,因为0和null不是完全相等的。看似简单的问题,却在判断的时候很棘手,Null和0值是相同的,但是类型却不一样。null是一种特殊的类型,两种情况为null,比如下面代码:
1. $var = NULL;
2. $var;
3.0、"0"、NULL以及没有任何属性的对象都将被认为是空的。
举例如下:
- <?php
- $test=0;
- if($test==''){
- echo '<br />在php中,0即为空'; //被输出
- }
- if($test===''){
- echo '<br />在php中,0即为空'; //不被输出
- }
- if($test==NULL){
- echo '<br />在php中,0即为空'; //被输出
- }
- if($test===NULL){
- echo '<br />在php中,0即为空'; //不被输出
- }
- if($test==false){
- echo '<br />在php中,0即为空'; //被输出
- }//xiariboke.net
- if($test===false){
- echo '<br />在php中,0即为空'; //不被输出
- }
- ?>
好了,稍稍做了下 PHP 0 和null区别 的总结,总之,如果分不清楚的话,多作几个判断就OK了。