I’m guessing that ìs_null` is an unnessary extra function call. Moreover, nobody wants to have to remember the exact behaviour in every possible situation of yet another, potentially dubiously-coded, way of testing for inexistence/invalidity/emptiness.

As for the order of the operands (the Yoda condition), I think it’s because some people have trouble remembering to put the correct number of equal signs when testing for `$foo === null`, and putting only one results in an assignment. So they reverse the operands (because this is somehow easier to remember?), so that putting only one equal sign is a syntax error (`null = $foo`). Then they do the same for every comparison operator, whatever the operands, even if you can’t assign, even accidentally, to `$foo->getStuff()`, for “consistency”.