$ a == 1和1 == $ a之间的差异

时间:2014-10-02 14:19:18

标签: php

我已经看到了这种比较的多个例子,其他一些例子(来自wordpress核心):

if ( '' != $qv['subpost'] )
            $qv['attachment'] = $qv['subpost'];

代码是否与:

相同
if ( $qv['subpost'] != '' )
            $qv['attachment'] = $qv['subpost'];

或者它们的功能不同?

4 个答案:

答案 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)

没有功能差异。您正在比较相等性,无论运算符位于运算符的哪一侧,它们都将相等或不相等。

这个问题归结为代码风格。就个人而言,在与静态值进行比较时,我更喜欢在左侧使用变量。其他人不同意。使用您正在处理的项目中的任何样式。