echo TRUE will display 1, why echo FALSE will display nothing, even though FALSE is a boolean 0?
there's a user notes about it here: Booleans
i always use var_dump() for checking value types anyway.
It's also explicitly spelled out on the "Strings" page of the manual:
Converting to String A value can be converted to a string using the (string) cast or the strval() function. String conversion is automatically done in the scope of an expression where a string is needed. This happens when using the echo() or print() functions, or when a variable is compared to a string . The sections on Types and Type Juggling will make the following clearer. See also the settype() function. A boolean TRUE value is converted to the string "1". Boolean FALSE is converted to "" (the empty string). This allows conversion back and forth between boolean and string values.
Converting to String
A value can be converted to a string using the (string) cast or the strval() function. String conversion is automatically done in the scope of an expression where a string is needed. This happens when using the echo() or print() functions, or when a variable is compared to a string . The sections on Types and Type Juggling will make the following clearer. See also the settype() function.
A boolean TRUE value is converted to the string "1". Boolean FALSE is converted to "" (the empty string). This allows conversion back and forth between boolean and string values.
PS: true is not a Boolean 1 and false is not a Boolean 0; true is a boolean true and false is a boolean false. 🙂