为什么PHP不打印TRUE/FALSE?

Agn*_*ian 16 php

可能重复:
PHP - 获取bool以在false时回显false

鉴于以下test.php:

<?php

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

?>
Run Code Online (Sandbox Code Playgroud)

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

Mar*_*ers 34

手册:

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


Pet*_*ter 18

因为 false == '';

这样做可以打印布尔值:

$bool = false;
echo $bool ? 'true' : 'false';
Run Code Online (Sandbox Code Playgroud)

要么...

echo $bool ? 'yes' : 'no';
echo $bool ? '1' : '0';
Run Code Online (Sandbox Code Playgroud)


dec*_*eze 6

因为转换为字符串时的布尔值分别转换1为空字符串.

据说这是为了在boolean - > string - > boolean之间启用透明的往返.