php - PHP中API的响应转换为 float ,需要整数

标签 php json

我正在调用外部 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/

相关文章:

php - 数据制表表

php - 使用ajax更新HTML输入

php - 将 png 图像从 JavaScript 传递到 PHP(错误 : Request-URI Too Large)

JSON 3 字母文件扩展名约定

javascript - 访问 Angular.js 中的 JSON 文件

php - 删除 <code> block 之外的所有空格、换行符和制表符

javascript - 无法在 PrestaShop 1.6 的脚本标签中添加数据属性

JSON 键通配

javascript - 使用 node.js 将 JSON 上传到 s3 的问题

javascript - 如果输入字段请求某些数据,则将 JSON 文件中的数据呈现为 HTML