今天我面对一个问题,我无法回答,
我试过做一个php程序,但找不到确切的原因
如果$a=5,那么($a==5和5==$a)都将输出为布尔真,并且,
如果是A!=5,则($a==5和5==$a)都将输出为布尔值false
有谁能告诉我从任何语言的角度来看$A==5和5==A之间的区别是什么?

**Program**
$a = 3;
var_dump( 5==$a );
var_dump( $a==5 );
$a = 5;
var_dump( 5==$a );
var_dump( $a==5 );


**Output**
boolean false

boolean false

boolean true

boolean true

最佳答案

这样的比较不受您先写入哪个值的影响。但是,最好将文字放在第一位,例如5 == $x,因为如果您陷入困境,只输入一个等号,您将得到一个错误,而不是一个意外的值赋值,这将更容易调试。

09-18 22:37