为什么 PHP 不打印 TRUE/FALSE


Why doesn't PHP print TRUE/FALSE?

可能的重复项:
PHP - 当假时让布尔值回显假

给定以下测试.php:

<?php
echo TRUE . "'n";    // prints "1'n"
echo FALSE . "'n";   // prints "'n"
?>

为什么php -f test.php不打印TRUEFALSE?更重要的是,在FALSE的情况下,为什么它不打印任何东西?

从手册:

布尔值 TRUE 将转换为字符串"1"。布尔值 FALSE 转换为 "(空字符串)。这允许在布尔值和字符串值之间来回转换。

因为false == '';

执行此操作以打印布尔值:

$bool = false;
echo $bool ? 'true' : 'false';

或。。。

echo $bool ? 'yes' : 'no';
echo $bool ? '1' : '0';
因为转换为

字符串时的布尔值将分别转换为1和空字符串。

据说这是为了实现布尔值 -> 字符串 ->布尔值之间的透明往返。