这两个陈述之间是否有区别:
if ($a == 'hello') { ... }
和
if ('hello' == $a) { ... }
我注意到像Wordpress这样的应用程序倾向于使用后者,而我通常使用前者。
我似乎记得刚才读过一些东西,为后者辩护,但我不记得它背后的原因。
答案 0 :(得分:9)
没有区别。它被使用,以便在您意外地进行赋值而不是比较时抛出错误:
if('hello' = $a)
if($a = 'hello')
将分配给变量而不会抛出错误。
它也可能用于明确地显示 if 你在if
语句中有一个赋值,你真的想要它在那里并且它不是一个错误(一致性)。
答案 1 :(得分:2)
后者的理由是,如果您错误地键入=
而不是==
(赋值而不是比较),您将收到编译器错误(无法分配给常量)。