输入一句英文句子,只有英文字(a-z, A-Z)、每个字之间仅以一个空格分格,前后没有空格。
返回的是要把每一个字的字母顺序倒转写,但字的顺序和字母的大小写位置则保持不変。
1 function stringReverse($str){ 2 //将每个单词转为小写并反转 3 $tmp = strtolower($str); 4 $tmp = implode(" ",array_map("strrev",explode(" ", $tmp))); 5 $strlen = strlen($tmp); 6 7 //遍历原始字符串,将新字符串对应位置字符转为大写 8 while($strlen > 0){ 9 $strlen--; 10 //找出原来的字符串所有大写字母的位置 11 $ord = ord($str{$strlen}); 12 13 //A-Z:65-90 a-z:97-122 14 if($ord > 64 && $ord < 91){ 15 $tmp{$strlen} = strtoupper($tmp{$strlen}); 16 } 17 } 18 19 return $tmp; 20 } 21 echo stringReverse('This is an Apple on eBay');//Siht si na Elppa no yAbe