Stm, кажется, ясно написал - в каких случаях.
Тебя не затруднит перечитать самому?
а еще тем, что про эту функцию надо знать.
а перебором можно самому сообразить.
я, конечно, понимаю, что мечтой каждого разработчика является программа ,состоящая из вызова одной-единственной функции.
И пхп идет к этому семимильными шагами.
Но ингда, все же, надо и головой думать.
железную логику применять.
и еще. по поводу твоих тестов.
если ты думаешь, что любая из функций или конструкций пхп будет выполняться отличное, от полученного тобой времени, то ты ошибаешься.
твой тест не значит ровным счетом ничего.
и особенно потому, что скорость - это не единственный критерий.