php json_decode 后,数字对象转换成了 科学计数法
今天在搞网页游戏在facebook积分上的对接,facebook传过来一个类json字符串,
想在callball.php页面当中应用这些参数,于是进行了一次json_decode操作,
发现长长的数字都变成了科学计数法,这不是我想要的结果。
做了各方面的转换处理都不好使,
?
$obj='{"order_id":213477815351175,"buyer":100001169269154}';
$obj=$this->json_decode($obj,TRUE);
$obj=$this->json_decode($obj,TRUE);
print_r($obj);
?
?结果:
?
Array
(
????[order_id]?=>?2.1347781535118E+14
????[buyer]?=>?1.0000116926915E+14
)
(
????[order_id]?=>?2.1347781535118E+14
????[buyer]?=>?1.0000116926915E+14
)
?
最后使用 php自带函数 number_format(),问题得到解决,效果如下:
?
$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);
????
????$obj=$this->json_decode($obj,TRUE);
????foreach?($obj?as?$key=>$val){
????????$obj[$key]=number_format($val,0,'','');
????}
??? print_r($obj);
????
?
结果:
?
Array
(
????[order_id]?=>?213477815351175
????[buyer]?=>?100001169269154
)
(
????[order_id]?=>?213477815351175
????[buyer]?=>?100001169269154
)
?