volendo puoi fare che quando trova il valore da te specificato esce dal ciclo e non esamina il resto, così magari se un testo è di 1MB ed il tuo carattere si trova all'inizio magari si esamina 50kb e non tutto.

codice:
foreach ($arr as $key=>$value){
  if (condizione){
    echo "trovato";
    break;
  }
}

poi, se devi solo trovare occorrenze puoi usare semplicemente strstr al posto delle preg che pesano un pò di più