准备出门溜达时,一个好友线上求助我如何实现字符串位置反转且大小写位置不变,比如:输入aBcDeF 输出 fEdCbA
博主其实也不擅长这类题目,思考了好久才想到实现方案,实现原理在于:1. 先实现字符串翻转;2. 将原字符串每个位置的字符串大小写进行判断,根据其结果处理翻转后的字符串。
代码如下:
<?php
function strrevPL($str){
$len = strlen($str);
$newstr = '';
for($i=$len-1; $i>=0; $i--) {
$newstr .= $str[$i];
}
$newstr2 = "";
for($i=0; $i<$len; $i++) {
if(strtoupper($str[$i])===$str[$i]){
$newstr2 .= strtoupper($newstr[$i]);
} else {
$newstr2 .= strtolower($newstr[$i]);
}
}
return $newstr2;
}
echo strrevPL("aBcDeF"); //输出 fEdCbA
function strrevPL($str){
$len = strlen($str);
$newstr = '';
for($i=$len-1; $i>=0; $i--) {
$newstr .= $str[$i];
}
$newstr2 = "";
for($i=0; $i<$len; $i++) {
if(strtoupper($str[$i])===$str[$i]){
$newstr2 .= strtoupper($newstr[$i]);
} else {
$newstr2 .= strtolower($newstr[$i]);
}
}
return $newstr2;
}
echo strrevPL("aBcDeF"); //输出 fEdCbA
原创文章,作者:iConan,如若转载,请注明出处:https://www.aspyc.com/archives/747.html