Говоря о PHP и спрашивая:
- набор "if" и "else ifs",
- «если» с набором условий «или» (как в оригинальных записях) или
- использование "in_array" с массивом, созданным на лету,
лучше,
Следует иметь в виду, что оператор «switch» языка PHP является альтернативой, разработанной для таких ситуаций, и может быть лучшим ответом. (Хотя пример автора приводит нас к сравнению двух решений, фактический заголовок вопроса требует рассмотреть in_array вместо операторов PHP, поэтому я считаю, что это справедливая игра).
В примере автора я бы порекомендовал:
switch ($var)
{ case 'test1': case 'test2': case 'test3': case 'test4':
echo "We have a good value"; break;
default:
echo "We do not have a good value";
}
Хотелось бы, чтобы в таких случаях PHP допускал использование пары не примитивных конструкций, таких как запятая для "или". Но вышеизложенное - то, что дизайнеры PHP сочли самым простым способом решения этой проблемы. И, похоже, он более эффективен во время выполнения, чем две другие альтернативы.
Пока я говорю о списке желаний, "IN", найденный в SQL, будет еще более понятным для примера примера плаката.
Это размышление, вероятно, приводит к тому, что люди хотят использовать "in_array" для таких ситуаций, но, к сожалению, приходится создавать структуру данных и затем использовать предикат, разработанный для этой структуры данных, а не иметь способ просто сказать это без каких-либо накладных расходов.