我意识到PHP不支持无符号整数,但我想知道如何用json_decode()来解决这个问题。当我解码包含2 ^ 31以上无符号整数的JSON时,它们会出现负数,因为它们被视为有符号整数。这是我可以通过配置我的php.ini文件来解决的问题,还是只是关于json_decode的一些我没有得到的东西?
答案 0 :(得分:1)
PHP的开发版本似乎有json_decode()
的计划选项,完全针对此问题:JSON_BIGINT_AS_STRING
(参见手册中的示例#5)但似乎没有针对此权利的生产修复现在
另请参阅用户提供的备注中的this comment。
是否有机会以某种方式在编码端输出字符串?
答案 1 :(得分:0)
您可以使用PHP BC Math extension!
对于任意精度数学 PHP提供了二进制计算器 支持任何大小的数字和 精度,表示为字符串。