【问题标题】:How to offset a character in PHP?如何在 PHP 中偏移一个字符?
【发布时间】:2012-09-27 18:04:27
【问题描述】:

我正在尝试在 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 char


【解决方案1】:

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

你可以做的是:

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

【讨论】:

  • 如果你需要 rot13,使用 str_rot13() 会更有效:php.net/manual/en/function.str-rot13.php
  • @WebnetMobile.com 如果这正是您所需要的,是的,但这更笼统,并回答了标题中的问题。
【解决方案2】:

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

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-04-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-11-28
    相关资源
    最近更新 更多