is_bool

(PHP 4, PHP 5, PHP 7, PHP 8)

is_bool 检测变量是否是布尔值

说明

is_bool(mixed $value): bool

检查变量是否为布尔值。

参数

value

要检查的变量。

返回值

如果 value 是布尔值则返回 true,否则返回 false

示例

示例 #1 is_bool() 示例

<?php
$a
= false;
$b = 0;

// 因为 $a 是布尔值,所以结果为 true
if (is_bool($a) === true) {
echo
"Yes, this is a boolean";
}

// 因为 $b 不是布尔值,所以结果为 false
if (is_bool($b) === false) {
echo
"No, this is not a boolean";
}
?>

参见

添加备注

用户贡献的备注 2 notes

up
12
phil
6 years ago
It should be stated that this function returns true if the _type_ of it's argument is boolean. It does not convert or coerce the value to a boolean type, not sure why so many comments focus on how to do this.However, if you arrived here looking for a solution to convert a value to a boolean type, use this:to_bool($x) { return (bool)$x; }
up
11
Julio Marchi
5 years ago
To check if a variable is boolean is one thing, to evaluate if the value of a variable represents a boolean condition (true or false) is another.

Here is a simple function that checks the status of the received variable in regard to boolean equivalencies (case-insensitive).

<?php
/** 
 * Check "Booleanic" Conditions :)
 *
 * @param  [mixed]  $variable  Can be anything (string, bol, integer, etc.)
 * @return [boolean]           Returns TRUE  for "1", "true", "on" and "yes"
 *                             Returns FALSE for "0", "false", "off" and "no"
 *                             Returns NULL otherwise.
 */
function is_enabled($variable)
{
    if (!isset($variable)) return null;
    return filter_var($variable, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
}
?>

Of course, it is a simplistic approach, but for the majority of cases it will do the job right.

And, just to put the thing from the right perspective, here's a real function that does what Phill disclosed:

<?php
/** 
 * Convert $variable to boolean (adapted from Phill answer)
 *
 * @param  [mixed]  $variable  Can be anything
 * @return [boolean]           Returns the booelan equivalent to $variable based on Zend Enegine interpretation
 */
function to_bool($variable) 
{ 
    return (bool)$variable;
}
?>

I hope it helps someone. Happy coding.
To Top