即使条件错误,is_null也无法正常工作的问题

时间:2012-02-03 04:05:34

标签: php mysql

在下面的代码中,当$ start_limit和$ end_limit为FALSE时,应该运行A.相反,B正在发生。我已经用var_dump测试了两个变量都是FALSE。

我正在使用is_null,因为$ start_limit偶尔会设置为0,我想要一个0计为TRUE的条件。

if (is_null($start_limit) && is_null($end_limit)) { 
         A      

} else {
         B          

}

当两个变量都为FALSE时,如何让A运行的任何建议都将非常受欢迎。

2 个答案:

答案 0 :(得分:1)

只需使用强制到布尔值。 !0!false都评估为true

if (!$start_limit && !$end_limit) { 
    // A
} else {
    // B          
}

http://ideone.com/aBbWJ

答案 1 :(得分:0)

我认为你想使用===而不是is_null。 False不为null,但为0!== false。三重等式检查是您要查找的完全匹配的类型。

也许

if( false === $start_limit && !$end_limit ) {
 // there are no limits, set the course for the heart of the sun!
}
else {
  B
}