2014-01-11 17 views

回答

3

你沒有檢查任何東西。你在做任務,因爲你使用的是=而不是==

你可以做很少的事來優化這段代碼。寫出來可能很乏味,但在執行方面並不糟糕。不要混淆「更短」的代碼和「更高效」。例如

if (!in_array($a, array('a', 'b', 'c')) { ... } 

是更少的代碼。但它幾乎肯定會執行WORSE比你的代碼。爲什麼?因爲現在你正在讓PHP在運行中創建一個數組。然後,它必須在內部遍歷該數組,並逐個比較每個值與$ a,正如您的「繁瑣」if()所做的那樣。所以你所做的只是減少寫入的代碼量,但是因爲你已經添加了整個「創建數組」的需求,所以執行時間增加了。

+0

我的意思===,對不起 – user3002686

+1

不應'''被刪除? –

+0

@ Mr.Alien:取決於如何安排實際的if()內容,但是,沒有必要 –

1

從PHP手冊:in_array()

if (in_array($a, array("b","c","d"))) { 
    echo $a; 
} else{ 
    echo 'a is not........'; 
} 
2

我傾向於使用switch代替。我覺得它更可讀。

switch ($a) { 
case 'b': 
case 'c': 
case 'd': 
    echo $a; 
    break; 
default: 
    echo 'a is not........'; 
    break; 
} 
+0

這實際上在'if elseif else'中有用 –