Symfony2:如果boolean为false,则if($ boolean == null)为true

时间:2014-05-07 14:53:00

标签: php symfony

我有一个带有是/否单选按钮的调查问卷,我将其作为布尔值保存到我的数据库中。由于特定原因,表单没有验证,所有字段都可以为空,因此现在可以填写一半表单,也可以填写一半。在我的代码中,我必须检查表单是否已完全填写。

我的问题是,如果单选按钮已设置为NO(即:数据库中为FALSE.0而不是null),则if ($boolean == null)仍会计算为true。 print ">>$boolean<<";对于布尔值为false,会产生>><<,而var_dump($boolean);会产生bool(false)。如何在Symfony2中确定是否未填写布尔值(数据库中为NULL)而不是标记为false(数据库中为0)?

1 个答案:

答案 0 :(得分:3)

根据PHP比较表(http://us3.php.net/manual/en/types.comparisons.php),false == NULL。在这种情况下,您需要使用===运算符进行严格比较,因此请尝试使用if($boolean === null)