【发布时间】:2012-06-01 01:12:54
【问题描述】:
我正在使用 PHP 开发一个项目,并尝试使用 $_POST 中的参数之一,不幸的是,我想将结果发送到 Web 服务,该服务只接受整数形式的参数。所以我必须用(int) 转换类型,但这项工作会改变参数的值
例如它是这样的:
$o = 4924869620;
$c = (int) $o;
那么 c 的值为 629902324
为什么会发生这种情况?我怎样才能保持价值不变?我也用过intval(),它也会改变值
【问题讨论】:
-
如何将此值传递给 Web 服务?
-
该值将溢出 32 位整数。这就是它改变的原因。例如尝试“10”,它不会改变。
-
通过使用SoapClient库,但问题不存在,我将变量放入数组中,然后我打印数组,看到值发生了变化,这都是在将参数发送到webservice之前
-
没错,只要网络服务接受这个数字。我认为溢出可能存在问题,有什么建议将数字保持为数字吗?
标签: php string casting integer