反转一个英文句子中的单词,并且对应位置大小写…

2018-06-22 05:18:47来源:未知 阅读 ()

新老客户大回馈,云服务器低至5折

输入一句英文句子,只有英文字(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;
}

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:Thinkphp3.2———配置模块

下一篇:PHP面向对象之策略模式