Hi!
I think strpos() is one of the fastest. If you know C, you can look at its source code. I guess it's taken from C so it's the best you can get. It's a little bit tricky to use when the occurrence of the needle is at position 0 in haystack, and the solution differs in versions 3 and 4 (seee Help), but that's fixable. Sometimes not to worry my head I just do this:
if (strpos(" ".$mystring, "b") > 0) ...
String concatenation is not that slow but I think you should benchmark this 10000 times or more to see whether string concatenation has some speed impact here.
Best regards,
Stanislav