JSON数据
{
"data":{
"count":1,
"orders":[
{
"voucher_platform":0,
"voucher":0.00,
"order_number":270269205514864,
"voucher_seller":0,
"created_at":"2019-12-15 18:03:44 +0800",
"gift_option":false,
"statuses":[
"delivered"
],
"address_billing":{
"last_name":"",
"address5":"Sample",
"address4":"Sample",
"first_name":"Sample name"
},
"extra_attributes":"",
"order_id":270269205514864,
"gift_message":"",
"remarks":"",
"address_shipping":{
"country":"",
"address3":"",
"address2":"",
"city":"",
"phone":"",
}
}
]
},
"code":"0",
"request_id":"0b0da12615764049458554660"
}
我遇到了order_number
的值的问题,而不是得到正确的值270269205514864
,我得到的结果是2.7087557899228E+14
。
我认为问题在某种程度上与字符串和数字值有关,但我不知道如何解决。
这是我的一些与解码json数据有关的代码。
...
$data = ... //assuming the json is already initialized
$data = json_decode($data, true); //decode the json
$OrderNumber = $data['data']['orders'][0]["order_number"]; //get order number
$CustomerName = $data['data']['orders'][0]["address_billing"]["first_name"]; //get name
echo $OrderNumber;
echo '<br/>';
echo $CustomerName;
echo '<br/>';
echo 'JSON DATA:';
die($data);
无论如何,JSON来自其他服务器,所以我将无法对其进行编辑。我只收到JSON。
2.7087557899228E+14
等效于270269205514864
。 2.7087557899228E + 14采用科学计数法。
要使用原始格式或标准格式,请使用:number_format($number, 6)
,其中6是小数点后的前导数字长度。
$OrderNumber = number_format($data['data']['orders'][0]["order_number"], 6);