У меня есть переменная $var
.
Я хочу echo "true"
, если $var
равно любому из следующих значений abc
, def
, hij
, klm
или nop
. Есть ли способ сделать это с помощью одного оператора, такого как &&
??
У меня есть переменная $var
.
Я хочу echo "true"
, если $var
равно любому из следующих значений abc
, def
, hij
, klm
или nop
. Есть ли способ сделать это с помощью одного оператора, такого как &&
??
if($var == "abc" || $var == "def" || ...)
{
echo "true";
}
Использование "Or" вместо "And" поможет здесь, я думаю,
Элегантный способ создания массива "на лету" и использование 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"