可能重复:
php-get bool在false时回显false
给定以下test.php:
<?php
echo TRUE . "\n"; // prints "1\n"
echo FALSE . "\n"; // prints "\n"
?>
为什么php-f test.php
不打印true
或false
? 更重要的是,在false
的情况下,它为什么不打印任何东西呢?
来自手册:
布尔真值转换为字符串“1”。 布尔FALSE转换为“”(空字符串)。 这允许在布尔值和字符串值之间来回转换。
因为false=='';
要打印布尔值,请执行以下操作:
$bool = false;
echo $bool ? 'true' : 'false';
或者。。。
echo $bool ? 'yes' : 'no';
echo $bool ? '1' : '0';
因为布尔值在转换为字符串时会分别转换为1
和空字符串。
据推测,这是为了在布尔->; 字符串->; 布尔值。