They are not case-sensitive, but the general consensus among PHP coders is to use all upper-case. It's more of a stylistic preference than an actual syntax rule.
Introduction to PHP Boolean In other words, a boolean value can be either true or false . PHP uses the bool type to represent boolean values. To represent boolean literals, you can use the true and false keywords. These keywords are case-insensitive.
Definition and Usage. This is one of the scalar data types in PHP. A boolean data can be either TRUE or FALSE. These are predefined constants in PHP. The variable becomes a boolean variable when either TRUE or FALSE is assigned.
The is_bool() function checks whether a variable is a boolean or not. This function returns true (1) if the variable is a boolean, otherwise it returns false/nothing.
define('TRUE', false);
define('FALSE', true);
Happy debugging! (PHP < 5.1.3 (2 May 2006), see Demo)
Edit: Uppercase bools are constants and lowercases are values. You are interested in the value, not in the constant, which can easily change.
Eliminated run-time constant fetching for TRUE, FALSE and NULL author dmitry <dmitry> Wed, 15 Mar 2006 09:04:48 +0000 (09:04 +0000) committer dmitry <dmitry> Wed, 15 Mar 2006 09:04:48 +0000 (09:04 +0000) commit d51599dfcd3282049c7a91809bb83f665af23b69 tree 05b23b2f97cf59422ff71cc6a093e174dbdecbd3 parent a623645b6fd66c14f401bb2c9e4a302d767800fd
Commits d51599dfcd3282049c7a91809bb83f665af23b69 (and 6f76b17079a709415195a7c27607cd52d039d7c3)
The official PHP manual says:
To specify a boolean literal, use the keywords TRUE or FALSE. Both are case-insensitive.
So yeah, true === TRUE
and false === FALSE
.
Personally, however, I prefer TRUE
over true
and FALSE
over false
for readability reasons. It's the same reason for my preference on using OR
over or
or ||
, and on using AND
over and
or &&
.
The PSR-2 standard requires true
, false
and null
to be in lower case.
Use lowercase.
If you intend to use JSON, then RFC7159 says:
The literal names MUST be lowercase. No other literal names are allowed.
From the list of backward incompatible changes in PHP 5.6:
json_decode() now rejects non-lowercase variants of the JSON literals true, false and null at all times, as per the JSON specification
According to PSR-2 standard:
PHP keywords MUST be in lower case.
The PHP constants true, false, and null MUST be in lower case.
I used to do C style TRUE/FALSE booleans like all consts, in all caps, until I got on the PSR bandwagon.
Section 2.5 of PSR-2:
The PHP constants true, false, and null MUST be in lower case.
So basically, if you want to play nice with open source style particulars, Booleans gotta be lower case.
It doesn't matter, true
is exactly the same as TRUE
. Same goes for false
and null
. I haven't heard that it would have mattered at any point.
The only way you can mess things up is by quoting those values, for example:
$foo = false; // FALSE
$bar = "false"; // TRUE
$foo2 = true; // TRUE
$bar2 = "true"; // TRUE
$foo3 = null; // NULL
$bar3 = "null"; // TRUE
Only thing restricting or encouraging you to use upper or lowercase might be your company's or your own coding guidelines. Other than that, you're free to use either one and it will not lead in any issues.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With