PHP 0 和null的区别

我在表单里面传过来的值有3个0,1,2然后我写的代码是有接受到这个值的话,执行一个sql语句if(value){$sql=‘’;}但是传过来的值是0的话,这个判断就被屏蔽... 我在表单里面传过来的值有3个 0,1,2

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

if(value){
$sql = ‘’;

}
但是传过来的值是0的话,这个判断就被屏蔽掉了,
0这个值是要用的,
请问这个时候怎么办?
展开
 我来答
fogwww
2015-11-25 · TA获得超过213个赞
知道小有建树答主
回答量:166
采纳率:93%
帮助的人:48.5万
展开全部

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即为空'; //不被输出
}
?>
低调的活着Zz
2013-09-11 · TA获得超过178个赞
知道小有建树答主
回答量:339
采纳率:0%
帮助的人:283万
展开全部
//用全等判断,如果为NULL 就是空
//否则就是0了 


if($value === NULL){
    $sql = '';
}
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
Alljhatv
2013-09-11 · TA获得超过681个赞
知道小有建树答主
回答量:408
采纳率:87%
帮助的人:184万
展开全部

应该这样:

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

这样就可以了。

已赞过 已踩过<
你对这个回答的评价是?
评论 收起
百度网友fce0e26
2015-11-25 · TA获得超过336个赞
知道小有建树答主
回答量:444
采纳率:63%
帮助的人:137万
展开全部
0代表假 但他是有值的,而null虽然有可以代表假,但如果判断他是否有值的话,他是没有值的。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
ylpsghr881212
2013-09-11 · 超过30用户采纳过TA的回答
知道答主
回答量:166
采纳率:0%
帮助的人:61.2万
展开全部
这个时候就不能这样写了,你用if(value!=""){}试试,应该就好了!因为IF是判断条件的,一般都是真或者假,在计算机语言里真一般用1代替,假一般就是0!所以会出现误差
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(13)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式