Reverse words order

Recently I needed to write function which order words in reversal. For example if we gave "AAA BBB CCC" it must return "CCC BBB AAA".
When I hear that in my mind occurred two implementation and I wrote both of them. In the end I decide to make performance test and the result was quite interesting.

I executed 1000000 times word_order_reverse1 and words_reverse2 with same input words "AAA BBB CCC".
Also I made it several times in brand new VPS to be sure it's not affected by my CPU load. The average result shows:

Time: 1.8467 Seconds (for word_order_reverse1)
Time: 3.3945 Seconds (for word_order_reverse2)

Which makes the word_order_reverse1 function ~183% faster than word_order_reverse2.
Here are the both functions.
function word_order_reverse1($words) {
    return implode(' ', array_reverse(explode(' ', $words)));

function word_order_reverse2($words) {

    $words_lenght = mb_strlen($words);
    $reversed = '';
    $tmp_letter_before_space = '';

    for ($i = 0; $i < $words_lenght; $i++) {
        $letter = $words[$i];

        if ($letter == ' ') {
            $reversed = " ". $tmp_letter_before_space . $reversed;
            $tmp_letter_before_space = '';
        else {
            $tmp_letter_before_space .= $letter;
    $reversed = $tmp_letter_before_space . $reversed;

    return $reversed;