我有一个整数/字符串变量。如果我在mysqli语句中有错误,它将变为String且没有错误,它将变为affected rows的数量(整数)。
但是在PHP中,如果我们有这样的东西:
$i = 0;
if ( $i < 0 || $i == null ) {
var_dump($i);
}
我们得到以下结果:
int 0
首先,我想知道为什么会这样吗? (我的意思是,如果
var_dump
是int 0
,为什么if语句不起作用?)第二,我需要比较的解决方案。
最佳答案
您没有进行严格的比较。
使用===
代替==
。==
将转换类型,然后进行比较
请改用以下方法之一。 is_null
是最干净的IMO。
if ( $i < 0 || $i === null ) {..}
要么
if ( $i < 0 || is_null($i)) {..}
关于php - PHP:比较整数/字符串变量和空值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14655279/