2015-05-04 73 views
2

我讀了一段代碼,看到代碼的作者使用if語句

if ('string' == $var) 

在那裏,因爲我總是用

if ($var == 'string') 

什麼我不知道,如果是以下除了風格/外觀,這有其他任何功能。將$ var與'string'比'var'比$ var更快/更慢?

+3

沒有區別。 –

+0

很酷,謝謝:)! –

+0

http://stackoverflow.com/questions/29910258/what-is-the-difference-between-a-2-and-2-a/ –

回答

2

Why if(constant == variable) is preferred instead of if (variable == constant)

這是您的問題的答案。 如果你錯過了等號,這有助於調試。

因爲這種形式使得通過忘記等號的一個 來引入錯誤更困難。想象一下,如果你這樣做:

if(k = 5)這是作爲比較,但它現在是一個 作業!更糟的是,這是合法的,它會以多種方式搞亂你的程序(k的值被改變,而 條件總是計算爲真)。

對比這與

如果(5 = K)這是不合法的(你不能分配給文字),所以 編譯器會立即將其標記爲錯誤。

在手帕웃Panky的詞語的評論:

他們都是等價的,但「串」 == $ var是一個更好的辦法 ,因爲它有助於在調試如果你錯過了一個等號。

+1

這是一個評論,而不是一個答案! – Rizier123

+2

如果您改善了陳述以完成陳述,那將會是一個非常好的答案。類似於'它們都是等價的,但'串'== $ var是一種更好的方法,因爲它有助於調試,如果你錯過了一個等號。' –

+1

即使這不是我的問題的答案,它實際上是我偷偷地尋找沒有意識到自己。 我一直在使用k = 5的符號,但現在認識到,顯然這是不好的做法或好,後者是首選。我會看看我是否可以讓自己切換到5 = k :) –

相關問題