我已经看到了这种比较的多个例子,其他一些例子(来自wordpress核心):
if ( '' != $qv['subpost'] )
$qv['attachment'] = $qv['subpost'];
代码是否与:
相同if ( $qv['subpost'] != '' )
$qv['attachment'] = $qv['subpost'];
或者它们的功能不同?
答案 0 :(得分:5)
有些人更喜欢constant == variable
选项,因为如果您不小心输入=
并尝试执行作业会导致致命错误:
e.g。
$a = 'foo'; // assigns 'foo' to $a
$a == 'foo'; // tests for equality
'foo' == $a // tests for equality
'foo' = $a // syntax error - assigning value to a string constant
但从功能上来说,两个版本之间没有区别。 a == b
完全等同于b == a
。
答案 1 :(得分:0)
是的,他们做同样的事情。它会检查两个示例中的$qv['subpost']
是否包含值。除非你Yoda,否则完全没有区别。
答案 2 :(得分:0)
没有区别。
(A == B) == (B == A)
有人可以将价值放在首位的唯一因素是可读性,例如:
if ( 'APPLE' == $var ) {
} else if ('BANANA' == $var) {
}
答案 3 :(得分:0)
没有功能差异。您正在比较相等性,无论运算符位于运算符的哪一侧,它们都将相等或不相等。
这个问题归结为代码风格。就个人而言,在与静态值进行比较时,我更喜欢在左侧使用变量。其他人不同意。使用您正在处理的项目中的任何样式。