本文实例讲述了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程序设计有所帮助。