004.phpt 531 B

123456789101112131415161718192021222324252627282930313233343536
  1. --TEST--
  2. json_encode() & endless loop - 2
  3. --FILE--
  4. <?php
  5. $a = new stdclass;
  6. $a->prop = $a;
  7. var_dump($a);
  8. echo "\n";
  9. var_dump(json_encode($a));
  10. var_dump(json_last_error(), json_last_error_msg());
  11. echo "\n";
  12. var_dump(json_encode($a, JSON_PARTIAL_OUTPUT_ON_ERROR));
  13. var_dump(json_last_error(), json_last_error_msg());
  14. echo "Done\n";
  15. ?>
  16. --EXPECTF--
  17. object(stdClass)#%d (1) {
  18. ["prop"]=>
  19. *RECURSION*
  20. }
  21. bool(false)
  22. int(6)
  23. string(%d) "Recursion detected"
  24. string(13) "{"prop":null}"
  25. int(6)
  26. string(%d) "Recursion detected"
  27. Done