2012-01-09 275 views
-1

不能相信我正在訴諸堆棧溢出來問這個問題而不是谷歌它,但有沒有辦法在一個if語句中有多個值?例如,而不是使用:有沒有辦法在一個if語句中有多個值?

if ($var == 'value' || $var == 'othervalue') : 
    return true; 
endif; 

...你可以做線沿線的東西:

if ($var == ('value' || 'othervalue')) : 
    return true; 
endif; 

我知道這可能是一個非常基本的是/否的答案,但它只是我我想知道,但從來沒有真正有時間去查。

+5

你「從來沒有真正有時間去查找」,但希望我們要抓緊時間爲你解答 – 2012-01-09 11:42:43

+0

不知道我知道你需要什麼,但是這是你展示什麼你想知道嗎? http://codepad.org/0eIyMMVg – mrzmyr 2012-01-09 11:45:29

回答

2

事情是這樣的:

if (in_array('needle', array('value1', 'value2', 'needle'))){ 

} 
+0

我想到了這一點,但我正在尋找一些讓初始值($ var)等於兩個值('value'或'othervalue')之一的東西。 – Matt 2012-01-09 11:43:47

+0

@Matt這正是'in_array()'所能做的。如果該值等於數組中的任何一個值,則它將匹配。 – DaveRandom 2012-01-09 11:47:22

+0

匹配兩個值是什麼意思?如果in_array發現至少有一個匹配,它將返回true。如果您的意思是匹配兩個值,則變量不能同時有兩個不同的值,因此不可能匹配這兩個值。 – Headshota 2012-01-09 11:47:39

0

沒有短的語法,但你總是可以模擬它,如果你想。即是這樣的:

if (in_array($var, array('value', 'othervalue')) : 
    return true; 
endif; 
0

你可以使用in_array()功能如下:

$arr = array('value', 'othervalue'); 
if (in_array($var, $arr)) 
    return true; 
0

您可以使用array,然後使用in_array()檢查$var存在。上線的東西 -

$my_array = array('value', 'othervalue'); 

if (in_array($var, $my_array)) 
    return true; 
相關問題