如何在PHP中偏移一个字符?

时间:2012-09-27 18:04:28

标签: php char

我正在尝试在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一样实现它?

提前致谢。

2 个答案:

答案 0 :(得分:1)

由于php是松散输入的,当你在字符串中添加13时,你的字符串将评估为0。

你能做的是:

$a = "A";
$val_a = ord($a);
$val_a += 13;
echo chr($val_a);

答案 1 :(得分:1)

如果你想专门做rot13,你可以使用str_rot13()功能。

$a = 'A';
echo str_rot13($a); // Outputs N