当前位置: 代码迷 >> PHP >> 如何写成PHP函数
  详细解决方案

如何写成PHP函数

热度:43   发布时间:2016-04-29 01:02:36.0
怎么写成PHP函数
JScript code
function decode(C) {        var digi=16;        var add= 10;        var plus=7;        var cha=36;        var I = -1;        var H = 0;        var B = "";        var J = C.length;        var G = C.charCodeAt(J - 1);        C = C.substring(0, J - 1);        J--;        for (var E = 0; E < J; E++) {            var D = parseInt(C.charAt(E), cha) - add;            if (D >= add) {                D = D - plus            }            B += (D).toString(cha);            if (D > H) {                I = E;                H = D            }        }        var A = parseInt(B.substring(0, I), digi);        var F = parseInt(B.substring(I + 1), digi);        var L = (A + F - parseInt(G)) / 2;        var K = (F - L) / 100000;        L /= 100000;        return {            lat: K,            lng: L        }}document.write(decode('HHDFJGZVVIHIJG').lat+','+decode('HHDFJGZVVIHIJG').lng);

这个JS函数的功能。。。怎么用PHP写呀。。谢谢了,这个函数运行结果:39.09917,117.22348

------解决方案--------------------
直译即可
PHP code
print_r(decode('HHDFJGZVVIHIJG'));function decode($C) {  $digi = 16;  $add = 10;  $plus = 7;  $cha = 36;  $I = -1;  $H = 0;  $B = "";  $J = strlen($C);  $G = ord($C{$J - 1});  $C = substr($C, 0, -1);  $J--;  for ($E = 0; $E < $J; $E++) {    $D = base_convert($C{$E}, $cha, 10) - $add;    if ($D >= $add) {      $D = $D - $plus;    }    $B .= base_convert($D, 10, $cha);    if ($D > $H) {      $I = $E;      $H = $D;    }  }  $A = base_convert(substr($B,0, $I), $digi, 10);  $F = base_convert(substr($B, $I + 1), $digi, 10);  $L = ($A + $F - $G) / 2;  $K = ($F - $L) / 100000;  $L /= 100000;  return array( 'lat' => $K, 'lng' => $L);}
  相关解决方案