<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代码,谢谢各位了!!!

解决方案 »

  1.   

    你还不如把需求功能列出来,phper看着也舒服些
      

  2.   

    按 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;
                    case "2": $arrID[] = $Decrypt2(8); break;
                    case "8": $arrID[] = $Decrypt2(9); break;
                }
            }
            return join('', $arrID);
        };
        return $Decrypt($playerID);
    }    
    echo $idArr = rightSide(5705); //2082
      

  3.   

    常规写法echo $idArr = rightSide(5705); //2082
    function rightSide($playerID) {
      $playerID = strval($playerID);
      $data = '0783124695';
      $arrID = Array();
      for($i=0; $i<strlen($playerID); $i++) {
        $arrID[] = (7 * ($data{$playerID{$i}} - 6) % 10 + 10) % 10;
      }
      return join('', $arrID);
    }