У меня есть переменная $var
.
Я хочу, чтобы echo "true"
если $var
равно любому из следующих значений abc
, def
, hij
, klm
или nop
. Есть ли способ сделать это с помощью одного оператора, такого как &&
??
if($var == "abc" || $var == "def" || ...) { echo "true"; }
Использование «Или» вместо «И» поможет здесь, я думаю
Элегантный способ построения массива «на лету» и использования 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"; }
вы можете использовать функцию in_array php
$array=array('abc', 'def', 'hij', 'klm', 'nop'); if (in_array($val,$array)) { echo 'Value found'; }
Не знаете, почему вы хотите использовать &&
. Theres более легкое решение
echo in_array($var, array('abc', 'def', 'hij', 'klm', 'nop')) ? 'yes' : 'no';
вы можете использовать логический оператор или: ||
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 строкой, и вы хотите найти только те выражения, но здесь она идет в любом случае.
Попробуйте использовать preg_match http://php.net/manual/en/function.preg-match.php
if(preg_match('abc', $val) || preg_match('def', $val) || ...) echo "true"