3v4l.org

run code in 500+ PHP versions simultaneously
<?php echo "Start\n"; var_dump(json_last_error()); echo "\n"; echo "Error without flag\n"; json_decode('{'); var_dump(json_last_error()); echo "\n"; echo "Clear error\n"; json_decode('true'); // clear error var_dump(json_last_error()); echo "\n"; echo "Error with flag\n"; try { json_decode('{', flags: JSON_THROW_ON_ERROR); } catch (\JsonException $e) { echo $e->getMessage(), "\n"; } var_dump(json_last_error()); echo "\n"; echo "Set different error\n"; json_decode(str_repeat('[', 1000)); var_dump(json_last_error()); echo "and check that it is not overwritten when JSON_THROW_ON_ERROR is set\n"; try { json_decode('{', flags: JSON_THROW_ON_ERROR); } catch (\JsonException $e) { echo $e->getMessage(), "\n"; } var_dump(json_last_error());

preferences:
59.87 ms | 2814 KiB | 5 Q