我这样:
$a = "fdsfadsafdsaf";
if($a =="" || $a ==0)
{
echo 123;
}
这里居然输出的结果是123!!!
为啥会这样啊,我好多地方都这样用了,那全乱套了
想不通啊,想了一个晚上了这样的话,就没错了:
$a = "fdsfadsafdsaf";
if($a ==="" || $a ===0)
{
echo 123;
}
却想不通啊;
大伙儿帮俺想想,感谢啦
$a = "fdsfadsafdsaf";
if($a =="" || $a ==0)
{
echo 123;
}
这里居然输出的结果是123!!!
为啥会这样啊,我好多地方都这样用了,那全乱套了
想不通啊,想了一个晚上了这样的话,就没错了:
$a = "fdsfadsafdsaf";
if($a ==="" || $a ===0)
{
echo 123;
}
却想不通啊;
大伙儿帮俺想想,感谢啦
if($a =="" || $a ==0)
第一个条件$a == ""是不成立的,但是第二个条件$a ==0是成立的。0是整型$a = "fdsfadsafdsaf"转成整型确实是0 如果是$a =="0"就不成立了
我数据库很多字段下为空值,我用这样的来做判断了:if($x ==0 || $x =="")
貌似我错了我好想进入了一个误区,以为$x ==0也可以用来判断是否空值汗,惭愧啊
唉,问题大了,要改死人了
if($a =="" || $a ==53)
{
echo 123;
} 同样输出123呵呵
if($a =="" || $a ==53)
{
echo 123;
}
==
$a = "53fdsfadsafdsaf";
if($a =="" || intval($a) ==53)
{
echo 123;
}
因为53是数字,字符串要强行转换一下.这个代码很容易出错.你应该这样写就可以了
$a = "fdsfadsafdsaf";
if(empty($a)) //or if(!$a)
{
echo 123;
}
原因:当变量要与数字比较时,会转换为int类型去比较
结果:$a = "fdsfadsafdsaf";转换为int类型后为0,故$a==0成立