我正在使用SOAPclient调用一个方法,并且该方法(远程外部SOAP Web服务)返回一个19位数字.我无法控制返回的内容.当我打印此数字的值时,只有前16位数字是准确的.
我已经尝试了类型转换,GMP等.但是当PHP根据Web服务调用的结果将值赋给变量时,看起来已经丢失了完整的19位数字.所以无法检索该值.
$client = new SoapClient($sccSystemWSDL);
try{
$sessionID = $client->logonUser($adminUser,$passWord);
}
在64位机器上我没有这个问题.但现在我必须在32位机器上运行它,直到现在都没有运气.
解决方法:
使用BCMath它允许将数字作为字符串而不是整数处理,因此没有大小限制.你也应该将precision指令增加到更大的数字,比如20左右.
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。