El único tipo que podía ver ser diferente es algo así como:
$foo = 1;
$bar = 1;
($foo = $foo + $bar) == ($bar = $foo);
Para ver por qué, mirarlo
A -> ($foo = $foo + $bar)
B -> ($bar = $foo);
Si A
se ejecuta en primer lugar, el resultado será 2
y el resultado de B
será 2, por lo que son iguales y la prueba será true
.
Si B
se ejecuta en primer lugar, el resultado será 1
, y el resultado de B
habrá 2, por lo que no son iguales y la prueba habrá false
.
Pero para cualquier comparación de un solo tipo (Donde A
es una variable y no una expresión) siempre será reflexivo.
Por lo tanto, en el sentido general, A == B
no siempre es 100% garantizado que es equivalente a B == A
. Para las variables, siempre será equivalente. Pero para expresiones complejas que implican asignación o modificación de variables, puede no serlo.
Yo diría 'reflexivo'. – Joe
@Joe: Gracias. Actualizado. – mpen
@Joe es correcto. Esto se considera _reflexividad_. La asociatividad es cuando '(A + B) + C = A + (B + C)' – treeface