Да, использование массива это один из самых простых способов.
Но все же конструкция из if будет быстрее - в случае с массивам помимо выделения памяти под строки, будет также аллоцироваться память под сам массив, тоже с деаллокацией.
На одном условии это не заметно, только в масштабах крупного проекта сотни лишних операций выделения памяти от каждого клиента ни к чему.
Как альтернатива блокам из if - конструкция switch-case:
switch($a){
case "one":
case "two":
case "three":
// your code
}
В случае использования поиска только простых строк можно воспользоваться трюком с strpos:
if (strpos(":"+$a+":", ":one:two:three:space ship:") !== FALSE) {
// your code here
}
в данном случае будет запущен всего один цикл поиска подстроки.