/
vshmidt
/
php
Обзор
Документация
Войти
/
vshmidt
/
php
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
ext/json/tests/bug61978.phpt
41 строка
831 B
Máté Kocsis
Declare tentative return types for ext/json (#7051)
27 май 2021, 11:47
Не верифицирован
27 май 2021, 11:47
5beba0b
Код
Авторство
О чём код?
--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}"