提问者:小点点

为什么PHP不打印true/false? [副本]


可能重复:
php-get bool在false时回显false

给定以下test.php:

<?php

echo TRUE . "\n";    // prints "1\n"
echo FALSE . "\n";   // prints "\n"

?>

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


共3个答案

匿名用户

来自手册:

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

匿名用户

因为false=='';

要打印布尔值,请执行以下操作:

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

或者。。。

echo $bool ? 'yes' : 'no';
echo $bool ? '1' : '0';

匿名用户

因为布尔值在转换为字符串时会分别转换为1和空字符串。

据推测,这是为了在布尔->; 字符串->; 布尔值。