PHP 0 和null的区别

我在表单里面传过来的值有3个 0,1,2

然后我写的代码是
有接受到这个值的话,执行一个sql语句

if(value){
$sql = ‘’;

}
但是传过来的值是0的话,这个判断就被屏蔽掉了,
0这个值是要用的,
请问这个时候怎么办?

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即为空'; //被输出
}
if($test===false){
 echo '<br />在php中,0即为空'; //不被输出
}
?>

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-09-11
//用全等判断,如果为NULL 就是空
//否则就是0了 


if($value === NULL){
    $sql = '';
}

第2个回答  2013-09-11

应该这样:

if ( ! empty(value)) { // 判断值是否为空
    $sql = '';
}

这样就可以了。

第3个回答  2015-11-25
0代表假 但他是有值的,而null虽然有可以代表假,但如果判断他是否有值的话,他是没有值的。
第4个回答  2013-09-11
这个时候就不能这样写了,你用if(value!=""){}试试,应该就好了!因为IF是判断条件的,一般都是真或者假,在计算机语言里真一般用1代替,假一般就是0!所以会出现误差

相关了解……

你可能感兴趣的内容

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 非常风气网