輸入一句英文句子,只有英文字(a-z, A-Z)、每個字之間僅以一個空格分格,前後沒有空格。 返回的是把每一個字的字母順序倒轉寫,但字的順序和字母的大小寫位置則保持不変 ...
輸入一句英文句子,只有英文字(a-z, A-Z)、每個字之間僅以一個空格分格,前後沒有空格。
返回的是要把每一個字的字母順序倒轉寫,但字的順序和字母的大小寫位置則保持不変
示例:
輸入參數This is an Apple on eBay
輸出:Siht si na Elppa no yAbe
/** * 反轉英文句子中的單詞,並保持對應位置大小寫不變 * @param [type] $str [description] * @return [type] [description] */ function stringReverse($str){ //將每個單詞轉為小寫並反轉 $tmp = strtolower($str); $tmp = implode(" ",array_map("strrev",explode(" ", $tmp))); $strlen = strlen($tmp); //遍歷原始字元串,將新字元串對應位置字元轉為大寫 while($strlen > 0){ $strlen--; $ord = ord($str{$strlen}); if($ord > 64 && $ord < 90){ $tmp{$strlen} = strtoupper($tmp{$strlen}); } } return $tmp; }