Palavras reversas em uma frase – PHP

Desafio: Inverta palavras em uma determinada frase sem usar dividir e juntar (ou algo semelhante).

PHP

$str = "The lazy dog jumped over the fox";
$spaceCount
= substr_count($str, " ");
$letterIndx
= 0;

// count number of spaces and then loop
for($i=0; $i<=$spaceCount; $i++) {
// get space positions
$spaceIndx
= strpos($str, " ", $letterIndx);
// assign word by specifying start position and length
if ($spaceIndx == 0) {
$word
= substr($str, $letterIndx);
} else {
$word
= substr($str, $letterIndx, $spaceIndx - $letterIndx);
}
// push word into array
$myArray
[] = $word;
// get first letter after space
$letterIndx
= $spaceIndx + 1;
}
// reverse the array
$reverse
= array_reverse($myArray);
// echo it out
foreach($reverse as $rev) {
echo $rev
." ";
}

DEMO
http://codepad.org/chK5mNre


Aqui está o código se você usar dividir e juntar (ou algo semelhante)

PHP

$str = "The lazy dog jumped over the fox";
$myArray
= str_word_count($str, 1);
$reverse
= array_reverse($myArray);
foreach ($reverse as $rev) { echo $rev." "; }

DEMO
http://codepad.org/8ZvsvZzO