函数返回错误的结果

时间:2014-01-12 04:43:11

标签: php

我正在尝试做这个人正在做的事情: Conversion to 64 bit int

除了一件事:我的功能继续只返回'76561197960265728'

function getFriendId($steamId)
{
$split = explode(":", $steamid); // STEAM_?:?:??????? format

$x = substr($split[0], 6, 1);
$y = $split[1];
$z = $split[2];
$w = bcadd(bcadd(bcmul($z, '2'), '76561197960265728'), $y);
return $w;
}

这是怎么回事?我已尝试使用和不使用bcadd / bcmul并获得相同的结果。

哦,如果相关,我的平台的最大int大小是9223372036854775807。我做了数学计算,SteamID不应该大于......

1 个答案:

答案 0 :(得分:0)

Basics

  

变量名称区分大小写。


error_reporting调整为E_NOTICE。 PHP将注意$z为0的原因。

在你问到这里之前,你确实调试了你的代码,是吗?