【发布时间】:2013-01-17 07:05:31
【问题描述】:
我有一个整数/字符串变量。如果我在 mysqli 语句中有错误,它会变成 String 并且没有错误它会变成 affected rows 的数字(Integer)。
但是在 PHP 中,如果我们有这样的东西:
$i = 0;
if ( $i < 0 || $i == null ) {
var_dump($i);
}
我们有这个结果:
int 0
首先,我想知道为什么会这样? (我的意思是,如果 var_dump 是 int 0,为什么 if 语句不起作用?)
第二,我想要解决方案来进行比较。
【问题讨论】:
-
因为
0被认为是空的(NULL) -
使用类型安全比较:
=== null -
@PeterSzymkowski 很好的例子。
标签: php string comparison integer