PHP Version
4+
// Boolean type
var_dump(is_bool(true));    // bool(true)
var_dump(is_bool(false));   // bool(true)

// Numbers
var_dump(is_bool(1));       // bool(false)
var_dump(is_bool(0));       // bool(false)

// Strings
var_dump(is_bool('hello')); // bool(false)
var_dump(is_bool('true'));  // bool(false)
var_dump(is_bool('false')); // bool(false)

// The result of comparison operators (e.g., ===, !==) is always a boolean value
var_dump(is_bool(1 === 1)); // bool(true)
var_dump(is_bool(1 !== 1)); // bool(true)
is_bool(mixed $value): bool
$a = null;
$b = '';
$c = 0;

var_dump(is_bool($a)); // bool(false)
var_dump(is_bool($b)); // bool(false)
var_dump(is_bool($c)); // bool(false)
$a = true;

if (is_bool($a)) {
    echo 'Variable $a is of boolean type.';
} else {
    echo 'Variable $a is not of boolean type.';
}

// Output: 'Variable $a is of boolean type.'
$a = true;

if (is_bool($a) && $a === true) {
    echo 'Variable $a is TRUE.';
} else {
    echo 'Variable $a is not TRUE.';
}

// Output: 'Variable $a is TRUE.'
function my_function($bool) {
    if ($bool === true) {
        echo 'The variable is TRUE.';
    } else {
        echo 'The variable is not TRUE.';
    }
}

$a = 1;

my_function(is_bool($a)); // Output: 'The variable is not TRUE.'