在寫程式的時候 做判斷的時候 $a == 2 與 2 == $a 有何不同
在寫程式的時候 做判斷的時候 $a == 2 與 2 == $a 有何不同
對於能夠在條件運算子中賦值的語言,把常數放在比較運算子之前,可以避免漏寫等號造成的問題。
也就是說,這樣可以避免我們各種失誤造成的把$a == 2
寫成$a = 2
的問題。
這種技巧在php中用處不是很大,但是在java web中用處比較大,例如判斷使用者提交的某個參數a是否等於字串"abc"
用"abc".equals(a)
就比a.equals("abc")
好,因為a可能是空的,後者就會報錯,而前者就能給出正確結果。
2==$a 沒看過這樣的寫法,如果可以,請賜教?
沒太大作用。
主要目的是為了防止判斷的時候少些一個等於號。
假設$a=1;
2==$a;//可以執行,值為false
2=$a;//保存
$a==2;//可以執行,值為false
$a= 2;//可以執行,值為true,因為是賦值語句
$a == 2 少些一個等號為賦值操作,編譯器不會提示報錯
2 == $a 少些一個等號編譯器會提示報錯
前提是放到if裡面做比較操作的時候
沒有差別
但是,$a == 2 在語感上來說更容易讓人接受一點