为什么filter_var()不接受0作为布尔值?

时间:2011-05-01 15:28:43

标签: php filter-var

我必须验证一个应该具有布尔值1或0的变量。我尝试使用filter_var(),函数的问题是如果输入0作为输入它将返回false,不是0被认为是布尔值?如果是,那么为什么函数返回false?

以下条件返回true

filter_var(1, FILTER_VALIDATE_BOOLEAN);

如果我使用0作为输入,它将返回false

filter_var(0, FILTER_VALIDATE_BOOLEAN);

2 个答案:

答案 0 :(得分:4)

根据http://www.php.net/manual/en/filter.filters.validate.php

  

FILTER_VALIDATE_BOOLEAN

     

TRUE"1""true""on"返回"yes"。否则返回FALSE

如果您想区分FALSE作为值,FALSE表示失败,则需要使用FILTER_NULL_ON_FAILURE标记。

答案 1 :(得分:0)

因为零是布尔值假?