Recipe 1.5 Reversing a String by Word or Character
1.5.1 Problem
You want to reverse the words or the
characters in a string.
1.5.2 Solution
Use strrev( ) to reverse by character:
print strrev('This is not a palindrome.');
.emordnilap a ton si sihT
To reverse by words, explode the string by word boundary, reverse the
words, then rejoin:
$s = "Once upon a time there was a turtle.";
// break the string up into words
$words = explode(' ',$s);
// reverse the array of words
$words = array_reverse($words);
// rebuild the string
$s = join(' ',$words);
print $s;
turtle. a was there time a upon Once
1.5.3 Discussion
Reversing a string by words can also be done all in one line:
$reversed_s = join(' ',array_reverse(explode(' ',$s)));
1.5.4 See Also
Recipe 18.8 discusses the implications of
using something other than a space character as your word boundary;
documentation on strrev( ) at
http://www.php.net/strrev and
array_reverse( ) at
http://www.php.net/array-reverse.
|