ASP 经典 CLng 函数 - 转换为 PHP

ASP classic CLng function - convert to PHP

我有一个使用 ASP 经典创建的旧站点,现在我鼓起勇气将其转换为 PHP。必须说我不是这两种语言的专家。

有一个简单的功能让我发疯。它以我以前从未见过的方式使用 CLng,我在 PHP.

中找不到类似的方法

这是ASP经典中的函数:

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("&H" & S)" 的作用? PHP有没有类似的CLng方法?

谢谢!

我会尝试这样的事情:

$r .= chr(intval($s, 16));

注意:变量$k根本没有用到

此外,vbscript 中的字符串是从 1 开始的,而在 php 中是从 0 开始的,因此 $p 应该计算为 $p = $i * 2;