2012-05-06 71 views
2

我需要對變量進行多重檢查。我見過一個「Equals」示例,在這裏:w3schools。 但它們是兩個不同的變量。現在我有:一個變量的多個比較運算符?

if ($color == 'blue') 
{ 
//do something 
} 

但我需要多個檢查$顏色。例如,如果它等於紅色或綠色。這是怎麼寫的?

回答

8

簡單:

if ($color == 'blue' || $color == 'red' || $color == 'green') { 
    //do something 
} 

還有其他幾個選項。使用switch操作:

switch ($color) { 
    case 'blue': 
    case 'red': 
    case 'green': 
     //do something 
} 

或者使用in_array功能更復雜:

$colors = array('blue', 'red', 'green'); 
if (in_array($color, $colors)) { 
    //do something 
} 
+0

感謝您的回答和鏈接! –

+0

不客氣。有一個很好的編碼;) – VisioN

+0

謝謝;)。另外,如果我有大約10種不同的顏色,哪種方法可以使用最快/最少的服務器? –

2

使用switch語句。

switch($color) 
{ 
    case "blue": 
     // do blue stuff 
     break; 
    case "yellow": 
     // do yellow stuff 
     break; 
    case "red": 
     // do red stuff 
     break; 
    default: 
     // if everything else fails... 
} 

如果你想要做同樣的事情上的所有顏色,只需使用||(布爾或)運算符。

if ($color == "blue" || $color == "red" || $color == "yellow") 
{ 
    // do stuff 
} 
+0

感謝您的回覆和幫助;) –

0

你也可以用preg_match這個去。這可能是矯枉過正,但我​​相信它速度非常快!

$color = "blue"; 
$pattern = "/^red|blue|yellow$/"; 
if (preg_match($pattern,$color)) { 
    // Do something nice here! 
}