Question: Which is the faster:

1. a regexp to search the contents of a large file for specific pattern, or
2. an `array_search` to search a large array to match value at any index.

Answer: 
other things being equal, I would expect the array search to always be faster, not having to read a file and not having to parse and execute a regex.
It will depend on the type of data you have, the type of data you are searching for, and the amount. You really need to try it and find which works for you, there isn't really a right answer any of us can give you without knowing the context and specific implementations.

Take a look at the [benchmark](http://pear.php.net/package/Benchmark/redirected) class if you want to see some metrics and figure it out.