Uppercase Booleans vs. Lowercase in PHP

后端 未结 11 1936
无人共我
无人共我 2020-12-23 02:33

When I was learning PHP, I read somewhere that you should always use the upper case versions of booleans, TRUE and FALSE, because the \"normal\" lo

相关标签:
11条回答
  • 2020-12-23 03:00

    Personally I've always used the lowercase form, but for no particular reason other than to make my code look tidy, the only place I use capital letters is when camel casing class names and variable names.

    One advantage to using uppercase that comes to mind though is that they stick out and are easy to find in code.

    0 讨论(0)
  • 2020-12-23 03:01

    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.

    0 讨论(0)
  • 2020-12-23 03:02

    Use lowercase.

    1. It's easier to type. (IMO)
    2. It's easier to read. (IMO)
    3. JavaScript booleans are lowercase and case-sensitive.
    0 讨论(0)
  • 2020-12-23 03:05

    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.

    0 讨论(0)
  • 2020-12-23 03:09

    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.

    0 讨论(0)
  • 2020-12-23 03:10
    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)

    0 讨论(0)
提交回复
热议问题