IF语句中值之前或之后的变量


Variable before or after value in IF statement

这两个语句有区别吗?

if ($a == 'hello') { ... }

if ('hello' == $a) { ... }

我注意到像Wordpress这样的应用程序倾向于使用后者,而我通常使用前者。

我好像记得前一段时间读到过一篇文章,为后者提供了理由,但我想不起来背后的原因了

没有区别。使用它是为了在您不小心进行赋值而不是比较时抛出错误:

if('hello' = $a)

if($a = 'hello')将赋值给变量而不会抛出错误。

它也可以用来显式地显示如果你在if语句中有一个赋值,你真的想把它放在那里,这不是一个错误(一致性)。

后者的理由是,如果你错误地输入=而不是==(赋值而不是比较),你会得到编译器错误(不能赋值给常量)