可能的重复项:
PHP - 当假时让布尔值回显假
给定以下测试.php:
<?php
echo TRUE . "'n"; // prints "1'n"
echo FALSE . "'n"; // prints "'n"
?>
为什么php -f test.php
不打印TRUE
或FALSE
?更重要的是,在FALSE
的情况下,为什么它不打印任何东西?
从手册:
布尔值 TRUE 将转换为字符串"1"。布尔值 FALSE 转换为 "(空字符串)。这允许在布尔值和字符串值之间来回转换。
因为false == '';
执行此操作以打印布尔值:
$bool = false;
echo $bool ? 'true' : 'false';
或。。。
echo $bool ? 'yes' : 'no';
echo $bool ? '1' : '0';
因为转换为
字符串时的布尔值将分别转换为1
和空字符串。
据说这是为了实现布尔值 -> 字符串 ->布尔值之间的透明往返。