php mysql bigint 类型

在mysql里设置了字段类型是bigint的,20位
然后通过php读取数组出来,使用json_encode
在不同的环境下,有不同的表现
1、这个字段在json中是字符串类型的,
2、这个字段读取出来是数字类型的,那么问题就来了,这个时候json_decode出来的结果是科学计算法的 + e。
这样对前端使用,就有了苦难。

想问,这个读取出来不同的类型,是跟什么配置有关?php 的配置,mysql的配置。
我现在的作法就是不管,在最后输出的时候,都转换一次,变成字符串。

补充一下
肯定不是32位、64位系统的问题。
同样的表结构设计,同样的64位环境
比如数组:144781210120784720
我的电脑取出来的值就是 字符串类型的 "144781210120784720",所以json都没问题
服务器去取出来的就是数字类型的,所以json变成了+3

查看回复