<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);
你还不如把需求功能列出来,phper看着也舒服些。。。
按 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
常规写法
echo $idArr = rightSide(5705); //2082function 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);}