0

我想解码一个单词并返回解码结果。我的编码词是“dtgcm”,我需要找到字母表中每个字母的位置。我将字母表分解成一个数组。

<?php    
$alphabet = 'a b c d e f g h i j k l m n o p q r s t u v w x y z';    
$alphaex = explode(' ',$alphabet);    
print_r($alphaex);    
?>   

但是当我找到这封信时,我需要将它备份 2 并检索那封信以破译密码。所以解码后的单词是“break”。但我还需要这样做,如果单词以“a”开头,它将备份 2 并得到“y”,当以“b”开头时,备份 2 将得到“z”。

提前致谢!

4

1 回答 1

0

您可以使用ord来获取每个字符的 ASCII 值并将chr其转换回来。

$new = '';
foreach (str_split("dtgcm") as $char) {
    $decode = ord($char);
    if ($decode <= 98) {
        $decode += 24;
    }
    else {
        $decode -= 2;
    }
    $new .= chr($decode);
}
echo $new;
于 2013-05-24T21:18:26.180 回答