Puedes usar el retorno de next($palabras) para controlar el ciclo (next() devuelvefalse si ya ha llegado al último elemento), y un break; dentro del bucle while para salir de él cuando $found sea true. Una forma muy simple sería:
Código PHP:
Function is_art ($string){
$palabras = array ('arte','decoracion','modernismo');
while ($palabra = next($palabras)){
if(stristr($string,$palabra) == true) return true;
}
return false;
}