所有PHP相等比较都是对称的吗?

mpe*_*pen 8 php comparison equals-operator

是否$a == $b总是等同于$b == $a

我认为在JavaScript中有一些奇怪的情况,由于投射,这是不正确的.

我认为ide是正确的.我会问另一个问题.

pro*_*php 2

取决于这两个调用之间发生的情况。否则是的,它们是相同的。顺序没有区别。使用 2 equals ==1 的字符串和 1 的整数,比较时将返回 true。类型被忽略,仅比较值。所以没有什么奇怪的。

http://php.net/manual/en/language.operators.comparison.php

<?

$a=(string) 1;
$b=(int) 1;

var_dump($a);
var_dump($b);


echo $a==$b;
Run Code Online (Sandbox Code Playgroud)

输出:1

http://www.ideone.com/JLJWQ

编辑

需要澄清的是,您绝对无法在 $a 或 $b 中放入任何内容来获得不同的比较输出,只需将其放在运算符的另一侧即可。

$a="1234";
$b="1234";

echo $a==$b;
echo $b==$a;
Run Code Online (Sandbox Code Playgroud)

对于任何 $a 或 $b 值,其输出毫无疑问总是 true true 或 false false。