我在表单里面传过来的值有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 = '';
}
//否则就是0了
if($value === NULL){
$sql = '';
}
第2个回答 2013-09-11
应该这样:
$sql = '';
}
这样就可以了。
第3个回答 2015-11-25
0代表假 但他是有值的,而null虽然有可以代表假,但如果判断他是否有值的话,他是没有值的。
第4个回答 2013-09-11
这个时候就不能这样写了,你用if(value!=""){}试试,应该就好了!因为IF是判断条件的,一般都是真或者假,在计算机语言里真一般用1代替,假一般就是0!所以会出现误差