php7 json问题
1、小数点精度丢失问题
if (version_compare(phpversion(), '7.1', '>=')) {
ini_set( 'serialize_precision', -1 );
}
2、大整型变为浮点型问题
$str = '{"errcode":0,"errmsg":"ok","department":[{"id":8559795009588101021,"name":"test12345","parentid":8559795009588100870,"order":1},{"id":8559795009588100880,"name":"test","parentid":8559795009588100870,"order":1}]}';
$arr = json_decode($str,true,512,JSON_BIGINT_AS_STRING);
var_dump($arr);
3、接口调用时,数字类型改为字符串类型,避免精度丢失
4、json_encode()常用到的两个参数
json_encode($arr, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
JSON_UNESCAPED_UNICODE(中文不转为unicode ,对应的数字 256)
JSON_UNESCAPED_SLASHES (不转义反斜杠,对应的数字 64)

本文探讨了PHP7中处理JSON数据时常见的问题,包括小数点精度丢失、大整型转换为浮点型的解决方案,以及如何通过设置参数优化json_encode函数的使用,确保数据的完整性和准确性。
929

被折叠的 条评论
为什么被折叠?



