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

Php IF语句中值之前或之后的变量,php,if-statement,operators,Php,If Statement,Operators,这两种说法之间是否有区别: if($a=='hello'){…} 及 if('hello'=$a){…} 我注意到像Wordpress这样的应用程序倾向于使用后者,而我通常使用前者 我似乎记得不久前读过一篇文章为后者辩护,但我记不起背后的理由。没有区别。使用它是为了在您意外地进行赋值而不是比较时引发错误: if('hello' = $a) if($a='hello')将赋值给变量,而不会抛出错误 它还可以用来明确表示如果你在一个if语句中有一个赋值,你真的想在那里赋值,而且这不是一个错误(一致

这两种说法之间是否有区别:

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

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

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


我似乎记得不久前读过一篇文章为后者辩护,但我记不起背后的理由。

没有区别。使用它是为了在您意外地进行赋值而不是比较时引发错误:

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


它还可以用来明确表示如果你在一个
if
语句中有一个赋值,你真的想在那里赋值,而且这不是一个错误(一致性)。

后者的理由是如果你错误地键入
=
而不是
=
(赋值而不是比较)您将遇到编译器错误(无法指定为常量)。

这是一个很好的总结,尽管我想说的是,虽然使用这种样式可以防止错误,但它确实会使if子句有时更难阅读。感谢您的解释。顺便说一下,我讨厌那种“不自然”的风格。