PHP: если a равно b или c или d

Возможный дубликат:
Короткую руку сделать что-то вроде: if ($ variable == 1 || $ variable == "whatever" || $ variable == '492').

Это

if ($a==b||$a==c||$a==$d){ ... 

кратчайший способ описать эту логику. Я думаю о чем-то вроде

 if ($a==($b||$c||$d)) { ... 

но это недействительный код. Какие-либо предложения?

Вы можете использовать in_array :

 if( in_array($a, array($b,$c,$d)) ){ //do something } 

Это допустимый код, но не логически правильный.

Если у вас много значений, вы можете сделать что-то вроде этого.

 if(in_array($a,array($b,$c,$d))) { } 

Оба они не такие, как || является логическим оператором и всегда будет возвращать true или false . Поэтому во втором выражении вы сравниваете, если $a является true или false .

Вы можете использовать in_array для сравнения, если $a существует в array($b, $c, $d)

не знаю, почему вы хотите что-то делать, но вы можете поместить b, c, d в массив и вызвать функцию in_array для поиска элементов. Тем не менее я не могу понять, почему вы хотите, чтобы короткий и простой код делался коротким и непростым.