PHP - reversed order in if statement

coding-style, php, zend-framework

Solution

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.

Problem

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 difference between following 2 "if" statements? : ``` if (null === $this->user) { ... } if ($this->user === null) { ... } ``` To me the first one looks kinda odd ;] Thanks for answer.

Original source

Related problems