2012-01-09 103 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; 
相关问题