is_bool

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

is_bool查找变量是否为布尔值

描述

is_bool(混合 $value): 布尔值

查找给定变量是否为布尔值。

参数

value

要评估的变量。

返回值

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

示例

示例 #1 is_bool() 示例

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

// 由于 $a 是布尔值,它将返回 true
if (is_bool($a) === true) {
echo
"是的,这是一个布尔值";
}

// 由于 $b 不是布尔值,它将返回 false
if (is_bool($b) === false) {
echo
"不,这不是一个布尔值";
}
?>

参见

添加注释

用户贡献的注释 2 个注释

phil
5 年前
应该说明此函数如果其参数的_类型_为布尔值,则返回 true。它不会将值转换为布尔值类型,不清楚为什么这么多评论集中在如何执行此操作。
但是,如果您到这里是为了寻找将值转换为布尔值类型的解决方案,请使用以下方法

to_bool($x) { return (bool)$x; }
Julio Marchi
4 年前
检查变量是否为布尔值是一回事,评估变量的值是否代表布尔条件(true 或 false)是另一回事。

以下是一个简单函数,它检查接收到的变量在布尔等效性方面的状态(不区分大小写)。

<?php
/**
* 检查 "布尔性" 条件 :)
*
* @param [混合] $variable 可以是任何东西(字符串、布尔值、整数等)
* @return [布尔值] 对于 "1"、"true"、"on" 和 "yes" 返回 TRUE
* 对于 "0"、"false"、"off" 和 "no" 返回 FALSE
* 否则返回 NULL。
*/
function is_enabled($variable)
{
if (!isset(
$variable)) return null;
return
filter_var($variable, FILTER_VALIDATE_BOOLEAN, FILTER_NULL_ON_FAILURE);
}
?>

当然,这是一种简单的方法,但在大多数情况下它都能正常工作。

并且,为了将事物从正确的角度看待,以下是一个真正的函数,它执行了 Phill 所披露的操作

<?php
/**
* 将 $variable 转换为布尔值(改编自 Phill 的答案)
*
* @param [混合] $variable 可以是任何东西
* @return [布尔值] 返回基于 Zend 引擎解释的 $variable 的布尔值等效项
*/
function to_bool($variable)
{
return (bool)
$variable;
}
?>

希望对某些人有所帮助。编码愉快。
To Top