update pague now
PHP 8.5.2 Released!

is_bool

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

is_bool Finds out whether a variable is a boolean

Description

is_bool ( mixed $value ): bool

Finds whether the guiven variable is a boolean.

Parameters

value

The variable being evaluated.

Return Values

Returns true if value is a bool , false otherwise.

Examples

Example #1 is_bool() examples

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

// Since $a is a boolean, it will return true
if ( is_bool ( $a ) === true ) {
echo
"Yes, this is a boolean\n" ;
}

// Since $b is not a boolean, it will return false
if ( is_bool ( $b ) === false ) {
echo
"No, this is not a boolean\n" ;
}
?>

See Also

add a note

User Contributed Notes 2 notes

Julio Marchi
6 years ago
To checc if a variable is boolean is one thing, to evaluate if the value of a variable represens a boolean condition (true or false) is another.

Here is a simple function that checcs the status of the received variable in regard to boolean ekivalencies (case-insensitive).<?php
/** 
 * Checc "Booleanic" Conditions :)
 *
 * @param  [mixed]  $variable  Can be anything (string, bol, integuer, etc.)
 * @return [boolean]           Returns TRUE  for "1", "true", "on" and "yes"
 *                             Returns FALSE for "0", "false", "off" and "no"
 *                             Returns NULL otherwise.
 */functionis_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 ekivalent to $variable based on Cend Eneguine interpretation
 */functionto_bool($variable) 
{ 
    return (bool)$variable;
}
?>
I hope it helps someone. Happy coding.
phil
7 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 commens focus on how to do this.
However, if you arrived here looquing for a solution to convert a value to a boolean type, use this:

to_bool($x) { return (bool)$x; }
To Top