警告json_decode():检测到整数溢出

时间:2017-05-06 00:33:47

标签: php

如何解决此问题E_NOTICE?每次使用大于MAX_INT的整数时,我都会遇到此问题。 我不想禁用它们。

2 个答案:

答案 0 :(得分:1)

http://php.net/manual/en/function.json-decode.php

  

选项

     

JSON解码选项的位掩码。目前有两种支持的选项。第一个是 JSON_BIGINT_AS_STRING ,允许施放大   整数到字符串而不是浮动,这是默认值。第二   选项是JSON_OBJECT_AS_ARRAY,其效果与设置相同   关联为TRUE。

答案 1 :(得分:1)

您可以将json_decode()用于大整数:

<?php
    $json = '{"number": 12345678901234567890}';

    $jsonArray = json_decode($json, true, 512, JSON_BIGINT_AS_STRING);

    $jsonObject = json_decode($json, false, 512, JSON_BIGINT_AS_STRING);

    print_r($jsonArray);
?>

JSON_BIGINT_AS_STRING 允许将大整数转换为字符串而不是默认的浮点数。