我正在调用外部 API 并成功获取结果。然而,一个产生数值的特定字段正在更改为 float 。
API 调用后,我将按照以下方式进行操作:
print_r($response);
// Decode the response
$responseData = json_decode($response, TRUE);
$ids= $responseData[0][id];
echo $ids;
我得到的结果如下:
[{"id":629378047925027252,"name":"Pizza Hut"}]
但对于特定的id
部分,结果是6.2937804792503E+17
。
我想检索上面的响应 id
中显示的值。
最佳答案
json_decode()
默认将对于平台来说太大的整数 (PHP_INT_MAX
) 转换为 float 。您可以使用 JSON_BIGINT_AS_STRING
将它们转换为字符串。请参阅options parameter :
$responseData = json_decode($response, true, 512, JSON_BIGINT_AS_STRING);
由于某种原因,传递 null
作为第三个参数并不会强制它使用默认值 (512),因此我传递了 512。
关于php - PHP中API的响应转换为 float ,需要整数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44788030/