PHP如果声明与多个条件

我有一个variables$var

如果$var等于下列值abcdefhijklmnop任何一个,我想回显"true" 。 有没有办法做到这一点与一个单一的声明像&& ??

 if($var == "abc" || $var == "def" || ...) { echo "true"; } 

我想,使用“或”而不是“和”会有帮助

一个优雅的方法是build立一个数组,并使用in_array()

 if (in_array($var, array("abc", "def", "ghi"))) 

switch语句也是一个替代方法:

 switch ($var) { case "abc": case "def": case "hij": echo "yes"; break; default: echo "no"; } 

不知道,为什么你要使用&& 。 这个更简单的解决scheme

 echo in_array($var, array('abc', 'def', 'hij', 'klm', 'nop')) ? 'yes' : 'no'; 

你可以使用php的in_array函数

 $array=array('abc', 'def', 'hij', 'klm', 'nop'); if (in_array($val,$array)) { echo 'Value found'; } 

您可以使用布尔运算符或:||

 if($var == 'abc' || $var == 'def' || $var == 'hij' || $var == 'klm' || $var == 'nop'){ echo "true"; } 

你可以试试这个:

 <?php echo (($var=='abc' || $var=='def' || $var=='hij' || $var=='klm' || $var=='nop') ? "true" : "false"); ?> 

试试这段代码:

 $first = $string[0]; if($first == 'A' || $first == 'E' || $first == 'I' || $first == 'O' || $first == 'U') { $v='starts with vowel'; } else { $v='does not start with vowel'; } 

我不知道如果$ var是一个string,你只想find这些expression式,但在这里它无论如何。

尝试使用preg_match http://php.net/manual/en/function.preg-match.php

 if(preg_match('abc', $val) || preg_match('def', $val) || ...) echo "true"