2012-01-09 5 views
-1

Не могу поверить, что я прибегаю к переполнению стека, чтобы спросить об этом, а не о Google, но есть ли способ иметь несколько значений в одном выражении if? Например, вместо использования:Есть ли способ иметь несколько значений в одном выражении if?

if ($var == 'value' || $var == 'othervalue') : 
    return true; 
endif; 

... вы могли бы сделать что-то вдоль линий:

if ($var == ('value' || 'othervalue')) : 
    return true; 
endif; 

Я знаю, что это, вероятно, очень простой да/нет ответа, но это как раз то, что я «Хотелось знать, но никогда не было времени, чтобы посмотреть.

+5

Вы никогда «Никогда не было времени, чтобы искать», но ожидают, что мы выкроить время, чтобы ответить вам –

+0

не уверен, я понимаю, что вам нужно, но это показывает вам, что вы хотели знать? http://codepad.org/0eIyMMVg – mrzmyr

ответ

2

Что-то вроде этого:

if (in_array('needle', array('value1', 'value2', 'needle'))){ 

} 
+0

Я думал об этом, но я ищу что-то, что позволит значение intial ($ var) быть равно одному из двух значений ('value' или 'othervalue'). – Matt

+0

@Matt Это именно то, что сделает 'in_array()'. Если значение равно любому из значений в массиве, оно будет соответствовать. – DaveRandom

+0

Что вы подразумеваете под сочетанием двух значений? если in_array найдет хотя бы одно совпадение, оно вернет true. если вы имеете в виду сопоставление обоих значений, переменная не может иметь двух разных значений одновременно, поэтому совпадение обоих значений невозможно. – Headshota

0

Там нет короткого синтаксиса, но вы всегда можете моделировать его, если вы хотите. Т.е., что-то вроде:

if (in_array($var, array('value', 'othervalue')) : 
    return true; 
endif; 
0

Вы можете использовать in_array() функцию для этого:

$arr = array('value', 'othervalue'); 
if (in_array($var, $arr)) 
    return true; 
0

Вы можете использовать array, а затем использовать in_array(), чтобы проверить, если $var присутствует. Что-то на линии -

$my_array = array('value', 'othervalue'); 

if (in_array($var, $my_array)) 
    return true; 
Смежные вопросы