PHP - reversed order in if statement

前端 未结 7 1212
-上瘾入骨i
-上瘾入骨i 2021-01-12 01:19

This is a question that is bugging me for a long time and can\'t find any answer... Noticed it\'s used quite a lot by Zend Framework Developers,

What is the differen

7条回答
  •  南笙
    南笙 (楼主)
    2021-01-12 01:52

    This is not a difference for the way your script works, it's just a coding standard, a recommendation

    The reason why it is recommended to use it this way:

    if (null == $this->user)
    

    is the fact that if you mistype and write = instead of == you will get an error, while

    ($this->user = null)
    

    instead of

    ($this->user == null)
    

    works but causes weird bugs (assignment and the final value is evaluated as bool instead of comparison)

    and I guess it just extended as a habit to the strict comparison operator (===)

    Update: since I see that there's still some activity on this thread even 3 years after I posted the answer I figured I would add something I forgot to mention. This type of notation is known as yoda conditions, you can read more about it on this wikipedia page for example.

提交回复
热议问题