Ted's Blog



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) 类转换类型


分享:

写评论


Contact ME

github:https://github.com/tebie6

email:liumingyuphp@163.com

友情链接

无敌我大鑫哥:http://dream128.cn