1234567891011121314151617181920212223242526272829303132333435363738394041 |
- --TEST--
- Bug #61978 (Object recursion not detected for classes that implement JsonSerializable)
- --FILE--
- <?php
- class JsonTest1 {
- public $test;
- public $me;
- public function __construct() {
- $this->test = '123';
- $this->me = $this;
- }
- }
- class JsonTest2 implements JsonSerializable {
- public $test;
- public function __construct() {
- $this->test = '123';
- }
- public function jsonSerialize(): mixed {
- return array(
- 'test' => $this->test,
- 'me' => $this
- );
- }
- }
- $obj1 = new JsonTest1();
- var_dump(json_encode($obj1, JSON_PARTIAL_OUTPUT_ON_ERROR));
- echo "==\n";
- $obj2 = new JsonTest2();
- var_dump(json_encode($obj2, JSON_PARTIAL_OUTPUT_ON_ERROR));
- ?>
- --EXPECT--
- string(24) "{"test":"123","me":null}"
- ==
- string(24) "{"test":"123","me":null}"
|