Looking for more information on how to do PHP the right way? Check out PHP: The Right Way

David Sklar's Blog:
Visiting each character in a string
Apr 26, 2007 @ 07:01:00

In a new post today, David Skalr demonstrates how he solved a simple problem - looping through all of the characters in a string in a UTF-8 enabled environment.

So I've got this string (in PHP) and I need to scan through it character by character. I can't scan byte by byte because it's 2007, our users write in all sorts of languages, and the string is UTF-8.

To remedy the situation, he falls back on an old standby - the mb_* functions, mb_substr and mb_strlen. His benchmarks show that, with a 1500 character string, running his sample script gives him around 61 scans per second. (The PHP6 version with TextIterator works much faster, though - 450 scans per second).

tagged: string loop utf8 mbstrlen mbsubstr benchmark textiterator string loop utf8 mbstrlen mbsubstr benchmark textiterator

Link: