我正在尝试在 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 一样实现它?
提前致谢。
由于 php 的类型很松散,当您在字符串中添加 13 时,您的字符串将评估为 0。
你可以做的是:
$a = "A";
$val_a = ord($a);
$val_a += 13;
echo chr($val_a);
如果你想专门做 rot13,你可以使用这个str_rot13()
函数。
$a = 'A';
echo str_rot13($a); // Outputs N