Reverse the order of space-separated words in a string

Try this:

$s = 'Hello everybody in stackoverflow';
echo implode(' ', array_reverse(explode(' ', $s)));

In prose that is:

  • First turn the string into an array of words
$words = explode(' ', $string);
  • Second, inverse the order of the elements in that array
$reversed_string = implode(' ', array_reverse($words));

Reading the whole list of string and array functions in PHP is VERY helpful and will save tons of time.


The above answer, strrev reverses the entire string. To reverse the order of the words:

$str = 'Hello everybody in stackoverflow';
$tmp = explode(' ', $str);
$tmp = array_reverse($tmp);
$reversed_str = join(' ', $tmp);

$tmp = explode(' ', $string);
array_reverse($tmp);
$string = implode(' ', $tmp);