JS一行代码用php怎么实现

有一行js代码,现在想要换成php。但是不知道怎么操作

相关代码

    var t ='HAtE*sTG6XlgrI0k2y5FheTOoKzwf6RQdPMpHLzUWIY_';

    var _csrfCode;
    if (t) {
        for (var e = 5381, i = 0, o = t.length; i < o; i += 1)
            e += (e << 5) + t.charCodeAt(i);
        _csrfCode = 2147483647 & e
    } else
        _csrfCode = ""
        console.log(_csrfCode);

我的PHP代码写的是

<?php
$t ='HAtE*sTG6XlgrI0k2y5FheTOoKzwf6RQdPMpHLzUWIY_';
function charCodeAt($str, $index)
{

$char = mb_substr($str, $index, 1, 'UTF-8');

if (mb_check_encoding($char, 'UTF-8'))
{
    $ret = mb_convert_encoding($char, 'UTF-32BE', 'UTF-8');
    return hexdec(bin2hex($ret));
}
else
{
    return null;
}

}

$_csrfCode = 0;

$e = 5381;

for ($i = 0; $i < strlen($t); $i ++)
{

$e +=  $e << 5 + charCodeAt($t,$i) ;

}
$_csrfCode = 2147483647 & $e;

echo $_csrfCode;
?>

但是两个结果不一样,就在偏移那边就会不一样,具体是哪,现在不得而知

阅读 1.1k
撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题