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는 부울 타입입니다.';
} else {
    echo '변수 a는 부울 타입이 아닙니다.';
}

// 출력: '변수 a는 부울 타입입니다.'
$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가 아닙니다.'