3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php $a = json_encode('wrong json'); if ('50500' <= PHP_VERSION_ID) { var_dump(json_last_error_msg()); } var_dump('JSON_ERROR_DEPTH' . ' : ' . JSON_ERROR_DEPTH); var_dump('JSON_ERROR_STATE_MISMATCH' . ' : ' . JSON_ERROR_STATE_MISMATCH); var_dump('JSON_ERROR_CTRL_CHAR' . ' : ' . JSON_ERROR_CTRL_CHAR); var_dump('JSON_ERROR_SYNTAX' . ' : ' . JSON_ERROR_SYNTAX); var_dump('JSON_ERROR_UTF8' . ' : ' . JSON_ERROR_UTF8); var_dump(json_last_error()); /*switch (json_last_error()) { case JSON_ERROR_DEPTH: $error = 'Maximum stack depth exceeded'; break; case JSON_ERROR_STATE_MISMATCH: $error = 'Underflow or the modes mismatch'; break; case JSON_ERROR_CTRL_CHAR: $error = 'Unexpected control character found'; break; case JSON_ERROR_SYNTAX: $error = 'Syntax error, malformed JSON'; break; case JSON_ERROR_UTF8: $error = 'Malformed UTF-8 characters, possibly incorrectly encoded'; break; default: $error = 'Unknown error'; break; } var_dump($error);*/
based on mY4VD
Output for 5.5.0 - 7.2.0
string(8) "No error" string(20) "JSON_ERROR_DEPTH : 1" string(29) "JSON_ERROR_STATE_MISMATCH : 2" string(24) "JSON_ERROR_CTRL_CHAR : 3" string(21) "JSON_ERROR_SYNTAX : 4" string(19) "JSON_ERROR_UTF8 : 5" int(0)
Output for 5.3.3 - 5.4.45
string(20) "JSON_ERROR_DEPTH : 1" string(29) "JSON_ERROR_STATE_MISMATCH : 2" string(24) "JSON_ERROR_CTRL_CHAR : 3" string(21) "JSON_ERROR_SYNTAX : 4" string(19) "JSON_ERROR_UTF8 : 5" int(0)
Output for 5.3.0 - 5.3.2
string(20) "JSON_ERROR_DEPTH : 1" string(29) "JSON_ERROR_STATE_MISMATCH : 2" string(24) "JSON_ERROR_CTRL_CHAR : 3" string(21) "JSON_ERROR_SYNTAX : 4" Notice: Use of undefined constant JSON_ERROR_UTF8 - assumed 'JSON_ERROR_UTF8' in /in/KSg5G on line 13 string(33) "JSON_ERROR_UTF8 : JSON_ERROR_UTF8" int(0)
Output for 5.2.7 - 5.2.17
Notice: Use of undefined constant JSON_ERROR_DEPTH - assumed 'JSON_ERROR_DEPTH' in /in/KSg5G on line 9 string(35) "JSON_ERROR_DEPTH : JSON_ERROR_DEPTH" Notice: Use of undefined constant JSON_ERROR_STATE_MISMATCH - assumed 'JSON_ERROR_STATE_MISMATCH' in /in/KSg5G on line 10 string(53) "JSON_ERROR_STATE_MISMATCH : JSON_ERROR_STATE_MISMATCH" Notice: Use of undefined constant JSON_ERROR_CTRL_CHAR - assumed 'JSON_ERROR_CTRL_CHAR' in /in/KSg5G on line 11 string(43) "JSON_ERROR_CTRL_CHAR : JSON_ERROR_CTRL_CHAR" Notice: Use of undefined constant JSON_ERROR_SYNTAX - assumed 'JSON_ERROR_SYNTAX' in /in/KSg5G on line 12 string(37) "JSON_ERROR_SYNTAX : JSON_ERROR_SYNTAX" Notice: Use of undefined constant JSON_ERROR_UTF8 - assumed 'JSON_ERROR_UTF8' in /in/KSg5G on line 13 string(33) "JSON_ERROR_UTF8 : JSON_ERROR_UTF8" Fatal error: Call to undefined function json_last_error() in /in/KSg5G on line 15
Process exited with code 255.
Output for 5.2.0 - 5.2.6
Notice: Use of undefined constant PHP_VERSION_ID - assumed 'PHP_VERSION_ID' in /in/KSg5G on line 5 Fatal error: Call to undefined function json_last_error_msg() in /in/KSg5G on line 6
Process exited with code 255.
Output for 5.0.0 - 5.1.6
Fatal error: Call to undefined function json_encode() in /in/KSg5G on line 3
Process exited with code 255.
Output for 4.4.5 - 4.4.9
Fatal error: Call to undefined function: json_encode() in /in/KSg5G on line 3
Process exited with code 255.
Output for 4.3.2 - 4.4.4
Fatal error: Call to undefined function: json_encode() in /in/KSg5G on line 3
Process exited with code 255.
Output for 4.3.0 - 4.3.1
Fatal error: Call to undefined function: json_encode() in /in/KSg5G on line 3