bug47644.phpt 618 B

12345678910111213141516171819202122232425262728293031323334353637383940414243
  1. --TEST--
  2. Bug #47644 (valid large integers are truncated)
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded('json')) die('skip');
  6. if (PHP_INT_SIZE != 8) die("skip this test is for 64bit platform only");
  7. ?>
  8. --FILE--
  9. <?php
  10. for ($i = 10000000000000000; $i < 10000000000000006; $i++) {
  11. var_dump(json_decode("[$i]"));
  12. }
  13. echo "Done\n";
  14. ?>
  15. --EXPECT--
  16. array(1) {
  17. [0]=>
  18. int(10000000000000000)
  19. }
  20. array(1) {
  21. [0]=>
  22. int(10000000000000001)
  23. }
  24. array(1) {
  25. [0]=>
  26. int(10000000000000002)
  27. }
  28. array(1) {
  29. [0]=>
  30. int(10000000000000003)
  31. }
  32. array(1) {
  33. [0]=>
  34. int(10000000000000004)
  35. }
  36. array(1) {
  37. [0]=>
  38. int(10000000000000005)
  39. }
  40. Done