当前位置: 代码迷 >> PHP >> JS代码转成PHP代码,该如何处理
  详细解决方案

JS代码转成PHP代码,该如何处理

热度:177   发布时间:2013-09-29 11:07:08.0
JS代码转成PHP代码
<script type="text/javascript">
function rightSide(playerID) {
    this.Decrypt2 = function(data) {
        var b = (7 * (data - 6) % 10 + 10) % 10;
        return b.toString();
alert(b.toString());
    }

    this.Decrypt = function(playerID) {
        playerID = playerID.toString();
        var arrID = new Array();
        for (var i = 0; i < playerID.length; i = i + 1) {
            var a = playerID.substr(i, 1);

            switch (a) {
                case "0": arrID.push(this.Decrypt2(0)); break;
                case "4": arrID.push(this.Decrypt2(1)); break;
                case "5": arrID.push(this.Decrypt2(2)); break;
                case "3": arrID.push(this.Decrypt2(3)); break;
                case "6": arrID.push(this.Decrypt2(4)); break;
                case "9": arrID.push(this.Decrypt2(5)); break;
                case "7": arrID.push(this.Decrypt2(6)); break;
                case "1": arrID.push(this.Decrypt2(7)); break;
                case "2": arrID.push(this.Decrypt2(8)); break;
                case "8": arrID.push(this.Decrypt2(9)); break;
            }
        }
        return arrID.join('');
    }
return this.Decrypt(playerID);
}
var idArr = rightSide(5705);


以上JS代码,帮忙转成PHP代码,谢谢各位了!!!

------解决方案--------------------
按 php 闭包直译(需 >= php 5.3)
function rightSide($playerID) {
    $Decrypt2 = function($data) {
        $b = (7 * ($data - 6) % 10 + 10) % 10;
        return $b;
    };
 
    $Decrypt = function($playerID) use ($Decrypt2) {
        $playerID = "$playerID";
        $arrID = Array();
        for ($i = 0; $i < strlen($playerID); $i = $i + 1) {
            $a = substr($playerID, $i, 1);
 
            switch ($a) {
                case "0": $arrID[] = $Decrypt2(0); break;
                case "4": $arrID[] = $Decrypt2(1); break;
                case "5": $arrID[] = $Decrypt2(2); break;
                case "3": $arrID[] = $Decrypt2(3); break;
                case "6": $arrID[] = $Decrypt2(4); break;
                case "9": $arrID[] = $Decrypt2(5); break;
                case "7": $arrID[] = $Decrypt2(6); break;
                case "1": $arrID[] = $Decrypt2(7); break;
  相关解决方案