bug41403.phpt 660 B

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. --TEST--
  2. Bug #41403 (json_decode cannot decode floats if localeconv decimal_point is not '.')
  3. --SKIPIF--
  4. <?php
  5. if (!extension_loaded('json')) die('skip');
  6. if (setlocale(LC_NUMERIC, "de_DE") === false) {
  7. die("skip no de_DE locale");
  8. }
  9. ?>
  10. --INI--
  11. precision=14
  12. --FILE--
  13. <?php
  14. setlocale(LC_NUMERIC, 'de_DE');
  15. var_dump(json_decode('[2.1]'));
  16. var_dump(json_decode('[0.15]'));
  17. var_dump(json_decode('[123.13452345]'));
  18. var_dump(json_decode('[123,13452345]'));
  19. echo "Done\n";
  20. ?>
  21. --EXPECTF--
  22. array(1) {
  23. [0]=>
  24. float(2,1)
  25. }
  26. array(1) {
  27. [0]=>
  28. float(0,15)
  29. }
  30. array(1) {
  31. [0]=>
  32. float(123,13452345)
  33. }
  34. array(2) {
  35. [0]=>
  36. int(123)
  37. [1]=>
  38. int(13452345)
  39. }
  40. Done