2016-11-15 82 views
0

今天,我正在探索symfony的回購和發現@Seldaek一些引入請求他交換與值的變量,你可以看到波紋管:非嚴格相等比較

enter image description here

Link for the PR

$var === truetrue === $var有什麼區別?

+2

true == $ var被稱爲**尤達風格** - 在谷歌或這裏讀取https://en.wikipedia.org/wiki/Yoda_conditions – nospor

+0

什麼是最奇怪的回合的變化是,他們沒有改變周圍的港口條件? 443是一個常量,你可能希望它們也可以在$ port變量之前切換它們......除非這是在稍後的提交中完成的......實際上非常奇怪。 –

回答

2

沒有功能差異,它是一種編碼風格,稱爲yoda conditions

人們使用它來避免在常量第二時通常不會被編譯器拾取的條件中的意外分配。

這是一個有效的語句,將很難調試時,竟然指望它來執行比較:

if ($var = 12) {} 

這是無效的聲明,並會引發錯誤

if (12 = $var) {} 

爲我們不能將變量賦值爲12.