PHP spell checker with suggestions for misspelled words
Here are a couple of tweaks that could help performance:


Rather than storing the dictionary in-memory, offload that to a database (potentially even caching commonly misspelled words as an optimization)
Ignore words under a certain length
(for example, MySQL's fulltext searching ignores words with fewer than 4 characters by default)


The thing that concerns me most with your algorithm is how much time it would take to compare every single word in the dictionary.  This problem compounds with more words in the search query.

There has to be a way to quickly filter the dictionary to a smaller list of higher probability similarities (i.e. by word length, first letter, etc. ?)