PHP rot5 javascript等价吗?

时间:2014-05-26 16:34:41

标签: php

我想知道是否有一个等效于

的PHP的rot5函数
function rot5(str) {
  var s = [];
  for (i = 0; i < str.length; i ++)
  {
    idx = str.charCodeAt(i);
    if ((idx >= 48) && (idx <= 57))
    {
      if (idx <= 52)
      {
        s[i] = String.fromCharCode(((idx + 5)));
      }
      else
      {
        s[i] = String.fromCharCode(((idx - 5)));
      }
    } 
    else
    {
      s[i] = String.fromCharCode(idx);
    }
  }
  return s.join('');
}

在javascript中?如果没有,那么我如何在PHP中执行fromCharCodecharCodeAt

2 个答案:

答案 0 :(得分:1)

您可以使用&#39; ord&#39;为charCodeAt&#39;。

ord($yourstring[$yourindex])

你可以使用&#39; chr&#39; for&#39; fromCharCode&#39;

chr($yourcharcode)

答案 1 :(得分:1)

这里你有普通的strrot,默认为strrot5

<?php

function strrot($str, $n=5){
    $replace = [];
    for($i=0;$i<26;$i++){
        $replace[chr(65+$i)] = chr(65+(($i+$n)%26));
        $replace[chr(97+$i)] = chr(97+(($i+$n)%26));
    }
    return strtr($str, $replace);
}