PHPバージョン
4+
/* 論理型(boolean) */
var_dump(is_bool(true));    // bool(true)
var_dump(is_bool(false));   // bool(true)

/* 数値 */
var_dump(is_bool(1));       // bool(false)
var_dump(is_bool(0));       // bool(false)

/* 文字列 */
var_dump(is_bool('hello')); // bool(false)
var_dump(is_bool('true'));  // bool(false)
var_dump(is_bool('false')); // bool(false)

/* 比較演算子(例:===, !== など)の結果は常に論理型(boolean)の値 */
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 '変数 a は論理型(boolean)です。';
} else {
    echo '変数 a は論理型(boolean)ではありません。';
}

// 出力: '変数 a は論理型(boolean)です。'
$a = true;

if (is_bool($a) && $a === true) {
    echo '変数 a は TRUE です。';
} else {
    echo '変数 a は TRUE ではありません。';
}

// 出力: '変数 a は TRUE です。'
function my_function($bool) {
    if ($bool === true) {
        echo '変数は TRUE です。';
    } else {
        echo '変数は TRUE ではありません。';
    }
}

$a = 1;

my_function(is_bool($a)); // 出力: '変数は TRUE ではありません。'