PHP JSON错误值

问题描述 投票:0回答:1

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。

php json
1个回答
0
投票

2.7087557899228E+14等效于270269205514864。 2.7087557899228E + 14采用科学计数法。

要使用原始格式或标准格式,请使用:number_format($number, 6),其中6是小数点后的前导数字长度。

$OrderNumber = number_format($data['data']['orders'][0]["order_number"], 6);
© www.soinside.com 2019 - 2024. All rights reserved.