请补充代码编写函数f($str,$n)将字符串$str中所有字母按ASCII规则循环右移$n位加密,非字母不变,如参数:str:["1A2b3Y4z"],

P粉514965422
P粉514965422
2024-12-04 20浏览

摘要:
本函数实现了循环右移字符串中字母的加密功能。它将字符串中的每个字母按照 ASCII 码值向后移动指定位数,从而实现加密。非字母字符保持不变。

代码:

function f($str, $n) {
    $len = strlen($str);
    $result = '';
    for ($i = 0; $i < $len; $i++) {
        $char = $str[$i];
        if (ctype_alpha($char)) {
            $ascii = ord($char);
            $shiftedAscii = ($ascii + $n) % 128;
            $result .= chr($shiftedAscii);
        } else {
            $result .= $char;
        }
    }
    return $result;
}

总结:
此函数通过遍历输入字符串并检查每个字符是否是字母,对字母字符应用偏移,对非字母字符保持不变,从而实现了加密功能。

php中文网 免责声明:以上内容除特别注明外均来源于网友提问,php中文网回答,权益归原著者所有;