Говоря о PHP и спрашивая:
- набор «если» s и «Else если»,
- «если» с набором «или» условиях Ed (как в оригинальной почтовой детали), или
- использование «in_array "с построенного массива на лету,
лучше,
следует иметь в виду, что 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», для таких ситуаций, но, к сожалению, приходится создавать структуру данных, а затем использовать предикат, предназначенный для этой структуры данных, а не иметь способ просто сказать это без этого накладных расходов.
Непосредственная тема - вы только что удалили свой другой вопрос с нескольких минут назад, или я схожу с ума? – Greg 2008-11-27 21:45:32