如何处理PHP中大于16位的值?

我正在使用SOAPclient调用一个方法,并且该方法(远程外部SOAP Web服务)返回一个19位数字.我无法控制返回的内容.当我打印此数字的值时,只有前16位数字是准确的.
我已经尝试了类型转换,GMP等.但是当PHP根据Web服务调用的结果将值赋给变量时,看起来已经丢失了完整的19位数字.所以无法检索该值.

$client = new SoapClient($sccSystemWSDL);
try{
    $sessionID = $client->logonUser($adminUser,$passWord);
}

在64位机器上我没有这个问题.但现在我必须在32位机器上运行它,直到现在都没有运气.

解决方法:

使用BCMath它允许将数字作为字符串而不是整数处理,因此没有大小限制.你也应该将precision指令增加到更大的数字,比如20左右.

相关文章

统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...
前言 之前做了微信登录,所以总结一下微信授权登录并获取用户...
FastAdmin是我第一个接触的后台管理系统框架。FastAdmin是一...
之前公司需要一个内部的通讯软件,就叫我做一个。通讯软件嘛...
统一支付是JSAPI/NATIVE/APP各种支付场景下生成支付订单,返...