<?php
/**
* 转换字符串
* Input: Many people spell MySQL incorrectly
* Output: Ynam elpoep lleps LqSYM yltcerrocni
*/
function convertStr($input) {
// 检测数据
$pattern = "/^[a-zA-Zs]+$/";
if (!preg_match($pattern,$input)) {
return "输入非法";
}
// 分割字符串成数组并去除无效的数据
$arr = explode(' ',$input);
$new_arr = [];
foreach($arr as $k=>$v) {
if ($v != '') {
$new_arr[] = $v;
}
}
// 处理数据
$out_arr = [];
foreach($new_arr as $word) {
// 获取反转的字符串
$rev_word = strrev($word);
// 获取字符串长度
$word_len = strlen($word);
$out_word = "";
for($i = 0;$i<$word_len;$i++) {
$alphabet = $word[$i];
// 判断是否是大写,ASCII值判断
if ((ord($alphabet) >= ord('A')) && (ord($alphabet) <= ord('Z')) ) { // 大写
$out_word .= strtoupper($rev_word[$i]);
} else {
$out_word .= strtolower($rev_word[$i]);
}
}
$out_arr[] = $out_word;
}
$out_str = implode(" ",$out_arr);
return $out_str;
}
echo convertStr(" Many people spell MySQL incorrectly");
有点意思。