003.phpt 593 B

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. --TEST--
  2. json_encode() & endless loop - 1
  3. --SKIPIF--
  4. <?php if (!extension_loaded("json")) print "skip"; ?>
  5. --FILE--
  6. <?php
  7. $a = array();
  8. $a[] = &$a;
  9. var_dump($a);
  10. echo "\n";
  11. var_dump(json_encode($a));
  12. var_dump(json_last_error(), json_last_error_msg());
  13. echo "\n";
  14. var_dump(json_encode($a, JSON_PARTIAL_OUTPUT_ON_ERROR));
  15. var_dump(json_last_error(), json_last_error_msg());
  16. echo "Done\n";
  17. ?>
  18. --EXPECTF--
  19. array(1) {
  20. [0]=>
  21. &array(1) {
  22. [0]=>
  23. *RECURSION*
  24. }
  25. }
  26. bool(false)
  27. int(6)
  28. string(%d) "Recursion detected"
  29. string(8) "[[null]]"
  30. int(6)
  31. string(%d) "Recursion detected"
  32. Done