Справка по простому условию PHP: if($Var1 = in list($List) and $Cond2) - возможно ли это?

Это возможная функция?

Мне нужно проверить, существует ли переменная в списке тех, которые мне нужно проверить, а также то, что cond2 истинно, например

if($row['name'] == ("1" || "2" || "3") && $Cond2){
    doThis();
}

У меня это не работает, и все, что я изменил в копипасте, это мой список и имена переменных.


person Supernovah    schedule 26.05.2009    source источник


Ответы (5)


if(in_array($row['name'], array('1', '2', '3')) && $Cond2) {
  doThis();
}

Документация PHP in_array(): http://us.php.net/manual/en/function.in-array.php

person ceejayoz    schedule 26.05.2009
comment
Спасибо. Принято, так как это было первым - person Supernovah; 26.05.2009
comment
В качестве небольшого примечания: в зависимости от того, насколько велик ваш массив исключений, вы можете поместить $Cond2 в качестве первого элемента логического выражения (при условии, что оно уже является атомарным, а не каким-то потенциально дорогостоящим вызовом функции). - person n3rd; 26.05.2009

Вы ищете функцию in_array().

if (in_array($row['name'], array(1, 2, 3)) && $cond2) {
    #...
person soulmerge    schedule 26.05.2009

используйте функцию in_array if(in_array($row['name'], array(1,2,3)) && $cond2){ do ... }

person Haim Evgi    schedule 26.05.2009

У меня есть кое-что попроще, если это еще возможно...

if(strpos("1,2,3", $row['name']) !== false) && $Cond2) {
  doThis();
}
person fled    schedule 14.01.2018

person    schedule
comment
это возможно, но другие умнее - person Supernovah; 26.05.2009
comment
Я согласен, in_array - лучший способ сделать это. - person Eric Hogue; 26.05.2009