1

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

以下条件返回真

filter_var(1, FILTER_VALIDATE_BOOLEAN);

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

filter_var(0, FILTER_VALIDATE_BOOLEAN);
4

2 回答 2

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标志。

于 2011-05-01T15:32:08.320 回答
0

因为零是布尔假?

于 2011-05-01T15:31:59.667 回答