2012-07-19 26 views
1

好的,所以我有幾個可能的匹配需要測試。它既可以等於一個,所以測試它會是這樣的明顯的方式:在PHP中高效地測試多個值

if($val=="A"||$val="B"){ 
    echo "yup"; 
} 

我只是想知道,如果他們是沒有重申變量的測試值的簡單方法每個值,像這樣(我知道這是行不通的):

if($val==("A"||"B")){ 
    echo "yuppers"; 
} 

是這樣的可能嗎?

+2

「A」||「B」將採用兩個字符串的邏輯「或」。因爲它們不是零。這總是會評估爲TRUE。 – 2012-07-19 17:22:23

回答

7

您可以使用in_array

$array = array('A','B','other values'); 
if(in_array($val, $array)){ 
    // value is in array 
}else { 
    // invalid value 
} 
3

您可以使用in_array

if (in_array($val, array('A', 'B'))) { 
    echo 'yuppest'; 
} 
2

你可以在 「A」 和 「B」 添加到陣列中,並使用in_array方法,但是這絕對不是更效率高於$val=="A" || $val =="B"

相關問題