我看了很多次,PHP開發人員使用的財產以後這樣的:PHP - 哪一個是更好的方法空==或== NULL
if(null == $var){
}
,而我用
if($var == null){
}
這些是兩個不同的?有什麼理由使用每一個?或者它在任何方面都是選擇問題?
我看了很多次,PHP開發人員使用的財產以後這樣的:PHP - 哪一個是更好的方法空==或== NULL
if(null == $var){
}
,而我用
if($var == null){
}
這些是兩個不同的?有什麼理由使用每一個?或者它在任何方面都是選擇問題?
只是null
不能被賦值 null = $a
,它會拋出解析錯誤。
但任何變量具有如null
值。 $a = null
所以,如果你在第二種情況下錯誤地輸入到==
=
,你已經改變了$a
價值和您檢查$a
新的值總是爲假的,如果條件。
@bub我知道,但這就是它的原因,它來自C世界和嵌入式系統,在這些系統中調試非常困難.. 所以它的老用於防禦技術,以避免模糊比較與分配 –
簡短的回答,這是完全一樣的東西。龍回答:
C編程語言允許條件內分配。例如
(i = 1)==1
是有效的。這意味着:
if (x = null)
也是有效的。
在某些情況下,你打算爲x = NULL但是(通常)你只是爲了比較x == null
和輸錯的。
在C(或C++),因此開發商會做這樣的事情:
if (null == x)
這是因爲如果輸入錯誤,以if (null = x)
它不會編譯。
然而,在PHP中,這已經不再是一個有效的理由,因爲PHP不編譯因此這樣的錯誤不提前困,這違背了逆轉語法的全部目的。
然而,在PHP中使用它的好處是,當你打的那部分代碼,這反而出錯正常運行的,因此會通知你的問題。
另一方面,在PHP中,你應該真的使用===
,所以錯別字會導致==
無論如何。
'$ var == null'是標準的方式..兩者沒有什麼區別。它的正義標準,我們總是在正確的 –
中寫下價值。第一個優點是,如果出現像'(null = $ var)'這樣的意外錯字會導致語法錯誤,否則會造成混淆。 – arkascha
@MASIDDIQUI我堅決不同意。 – arkascha