2

我正在尝试在 PHP 中实现 rot13 密码算法。但与Java相比有点困难:

char a = 'A';
a += 13;
System.out.println(a);

output will be : N

但是,在 php 5.0 中:

   $a = 'A';
   $a += 13;
   echo "$a";

  output will be: 13.

我怎样才能像 Java 一样实现它?

提前致谢。

4

2 回答 2

1

由于 php 的类型很松散,当您在字符串中添加 13 时,您的字符串将评估为 0。

你可以做的是:

$a = "A";
$val_a = ord($a);
$val_a += 13;
echo chr($val_a);
于 2012-09-27T18:07:26.823 回答
1

如果你想专门做 rot13,你可以使用这个str_rot13()函数。

$a = 'A';
echo str_rot13($a); // Outputs N
于 2012-09-27T18:07:34.897 回答