php 解决返回数据 数字 变成科学计数法后转换问题

问题 id int型 数字过长,json_decode的时候已经转成科学计数了 通过格式化后 数字已经变了
$obj='{"order_id":20180110000000001}';
$obj=json_decode($obj,TRUE);
foreach ($obj as $key=>$val){$obj[$key]=number_format($val.'',0,'','');}
print_r($obj); 结果 Array ( [order_id] => 20180110000000000 )
问题 id 字符串型 数字过长,json_decode的时候已经转成科学计数了 通过格式化后 数字已经变了
$obj='{"order_id":"20180110000000001"}';
$obj=json_decode($obj,TRUE);
foreach ($obj as $key=>$val){$obj[$key]=number_format($val.'',0,'','');
}
print_r($obj); 结果 Array ( [order_id] => 20180110000000000 )

解决方案 id 传过来必须是 字符串型 通过几次函数操作即可

$obj='{"order_id":"20180110000000001"}';
$obj=json_decode($obj,TRUE);
foreach ($obj as $key=>$val){if ((is_numeric($val))&&(strpos($val,'.'))){$obj[$key] = rtrim(rtrim(number_format($val,12,',',''),'0'),',');}
}
print_r($obj); Array ( [order_id] => 20180110000000001 )

 

 


本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场,不承担相关法律责任。如若转载,请注明出处。 如若内容造成侵权/违法违规/事实不符,请点击【内容举报】进行投诉反馈!

相关文章

立即
投稿

微信公众账号

微信扫一扫加关注

返回
顶部