Почему PHP не печатает TRUE / FALSE?

Возможный дубликат:
PHP – Получить bool для эхо-фальшивости, когда false

Учитывая следующее test.php:

<?php echo TRUE . "\n"; // prints "1\n" echo FALSE . "\n"; // prints "\n" ?> 

Почему php -f test.php печатает TRUE или FALSE ? Что еще более важно, в случае с FALSE , почему он ничего не печатает?

Solutions Collecting From Web of "Почему PHP не печатает TRUE / FALSE?"

Из руководства :

Булево значение TRUE преобразуется в строку «1». Boolean FALSE преобразуется в "" (пустая строка). Это позволяет конвертировать назад и вперед между булевыми и строковыми значениями.

Потому что false == '';

сделайте это, чтобы напечатать логические значения:

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

или…

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

Потому что логические значения при приведении в строку преобразуются в 1 и пустую строку соответственно.

Предположительно, это должно обеспечить прозрачную обратную связь между boolean -> string -> boolean.