PHP如果声明与多个条件
我有一个variables$var
。
如果$var
等于下列值abc
, def
, hij
, klm
或nop
任何一个,我想回显"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"