PHP json_encode 传输长整型问题
在项目开发中意外发现 传输的 order_sn 和 数据库存储的数据不一致
// 测试传输的结果 json_encode(['order_sn' => 432642368749340458]);
// order_sn_err 错误结果、order_sn 正确结果
{
"data":{
"order_sn_err":432642368749340458,
"order_sn":"432642368749340458"
}
}这是因为 长整型会有精度损失的问题
解决这一问题 就是将长整型 转换成 字符串类型
json_encode 使用 JSON_BIGINT_AS_STRING
或者对单独字段使用 (string) 类转换类型