- var_dump: documentation ( source)
- json_last_error: documentation ( source)
- get_object_vars: documentation ( source)
- json_encode: documentation ( source)
<?php
class SomeClass implements JsonSerializable {
public function jsonSerialize() {
return [get_object_vars($this)];
}
}
$class = new SomeClass;
var_dump(json_encode($class));
var_dump(json_last_error() == JSON_ERROR_RECURSION);
$arr = [$class];
var_dump(json_encode($arr));
var_dump(json_last_error() == JSON_ERROR_RECURSION);
class SomeOtherClass implements JsonSerializable {
public function jsonSerialize() {
return get_object_vars($this);
}
}
$class = new SomeOtherClass;
var_dump(json_encode($class));
var_dump(json_last_error() == JSON_ERROR_RECURSION);
$arr = [$class];
var_dump(json_encode($arr));
var_dump(json_last_error() == JSON_ERROR_RECURSION);