Подтвердить что ты не робот

PHP Если выражение с несколькими условиями

У меня есть переменная $var.

Я хочу echo "true", если $var равно любому из следующих значений abc, def, hij, klm или nop. Есть ли способ сделать это с помощью одного оператора, такого как &&??

4b9b3361

Ответ 1

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

Использование "Or" вместо "And" поможет здесь, я думаю,

Ответ 2

Элегантный способ создания массива "на лету" и использование 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";
}

Ответ 3

вы можете использовать функцию in_array для php

$array=array('abc', 'def', 'hij', 'klm', 'nop');

if (in_array($val,$array))
{
  echo 'Value found';
}

Ответ 4

Не знаете, почему вы хотите использовать &&. Theres более легкое решение

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

Ответ 5

вы можете использовать логический оператор или: ||

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

Ответ 6

Вы можете попробовать следующее:

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

Ответ 7

Попробуйте этот фрагмент кода:

$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';
}

Ответ 8

Я не знаю, является ли $var строкой, и вы хотите найти только те выражения, но здесь она идет в любом случае.

Попробуйте использовать preg_match http://php.net/manual/en/function.preg-match.php

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