服务器之家:专注于服务器技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|JavaScript|易语言|

服务器之家 - 编程语言 - PHP教程 - php使用json_decode后数字对象转换成了科学计数法的解决方法

php使用json_decode后数字对象转换成了科学计数法的解决方法

2021-04-25 15:28小炒花生米 PHP教程

这篇文章主要介绍了php使用json_decode后数字对象转换成了科学计数法的解决方法,涉及php操作json格式数据与数值转换相关技巧,需要的朋友可以参考下

本文实例讲述了php使用json_decode后数字对象转换成了科学计数法的解决方法。分享给大家供大家参考,具体如下:

问题:

今天在搞网页游戏在facebook积分上的对接,facebook传过来一个类json字符串,想在callball.php页面当中应用这些参数,于是进行了一次json_decode操作,发现长长的数字都变成了科学计数法,这不是我想要的结果。

解决方法:

做了各方面的转换处理都不好使:

?
1
2
3
$obj='{"order_id":213477815351175,"buyer":100001169269154}';
$obj=$this->json_decode($obj,TRUE);
print_r($obj);

结果:

?
1
2
3
4
5
Array
(
  [order_id] => 2.1347781535118E+14
  [buyer] => 1.0000116926915E+14
)

最后使用 php自带函数 number_format(),问题得到解决,效果如下:

?
1
2
3
4
5
6
$obj='{"order_id":213477815351175,"buyer":100001169269154}';
$obj=$this->json_decode($obj,TRUE);
foreach ($obj as $key=>$val){
    $obj[$key]=number_format($val,0,'','');
}
print_r($obj);

结果:

?
1
2
3
4
5
Array
(
  [order_id] => 213477815351175
  [buyer] => 100001169269154
)

希望本文所述对大家PHP程序设计有所帮助。

延伸 · 阅读

精彩推荐