我有一个用ASP经典创建的旧网站,现在我鼓起勇气将其转换为PHP。必须说我不是这两种语言的专家。
有一个简单的功能让我发疯。它以我以前从未见过的方式使用CLng,我在PHP中找不到类似的方法。
以下是ASP classic中的功能:
Function TransferDecode(ByRef Source)
Dim C, I, P, S, K
C = Len(Source) / 2
TransferDecode = ""
For I = 0 to C - 1
P = I * 2 + 1
S = Mid(Source, P, 2)
K = CLng("&H" & S)
TransferDecode = TransferDecode & Chr(K)
Next
End Function
这是我(uncessefull)尝试转换为PHP:
function transferDecode($source) {
$r = '';
$c = strlen($source) / 2;
for ($i = 0; $i <= $c - 1; $i++) {
$p = $i * 2 + 1;
$s = substr($source, $p, 2);
$k = '&H'.$s;
$r .= chr((int)$k);
}
return $r;
}
请有人解释一下“CLng(”&amp; H“&amp; S)”做什么? PHP中是否有类似的CLng方法?
谢谢!
答案 0 :(得分:1)
我尝试这样的事情:
$r .= chr(intval($s, 16));
注意:根本不使用变量$k
另外,vbscript中的字符串是从1开始的,而php中的字符串是从0开始的,因此$p
应该计算为$p = $i * 2;