From: yuri dot kanivetsky at gmail dot com
Operating system: windows 8 64-bit
PHP version: 5.5.13
Package: *General Issues
Bug Type: Bug
Bug description:php 64-bit treats not so large integer literals as doubles
Description:
------------
I'm using php-5.5.13. This bug makes json_encode generate wrong output,
when values are high enough (they are represented in scientific
notation, like 1.00001279446E+14). Also, it makes json_decode generate
values of wrong data type, when large integers are encountered. The
output on debian squeeze with php-5.4.10 is as expected.
Test script:
---------------
<?php
$v = 2147483647;
echo $v . " - " . gettype($v) . "\n";
$v = 2147483648;
echo $v . " - " . gettype($v) . "\n";
Expected result:
----------------
2147483647 - integer
2147483648 - integer
Actual result:
--------------
2147483647 - integer
2147483648 - double
--
Edit bug report at https://bugs.php.net/bug.php?id=67439&edit=1
--