可能重复:
PHP - 假时获取布尔以回显假
给定以下 test.php:
<?php
echo TRUE . "\n"; // prints "1\n"
echo FALSE . "\n"; // prints "\n"
?>
为什么不php -f test.php
打印TRUE
或FALSE
?更重要的是,在这种FALSE
情况下,为什么它不打印任何东西?
可能重复:
PHP - 假时获取布尔以回显假
给定以下 test.php:
<?php
echo TRUE . "\n"; // prints "1\n"
echo FALSE . "\n"; // prints "\n"
?>
为什么不php -f test.php
打印TRUE
或FALSE
?更重要的是,在这种FALSE
情况下,为什么它不打印任何东西?
从手册:
布尔 TRUE 值转换为字符串“1”。Boolean FALSE 被转换为“”(空字符串)。这允许在布尔值和字符串值之间来回转换。
因为false == '';
这样做打印布尔值:
$bool = false;
echo $bool ? 'true' : 'false';
或者...
echo $bool ? 'yes' : 'no';
echo $bool ? '1' : '0';
因为转换为字符串时的布尔值1
分别转换为空字符串。
据说这是为了在 boolean -> string -> boolean 之间实现透明的往返。