3v4l.org

run code in 300+ PHP versions simultaneously
<?php echo "'string'\n"; $r = json_decode("'string'"); var_dump($r, json_last_error(), json_last_error_msg()); echo "\"string\"\n"; $r = json_decode("\"string\""); var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo "100\n"; $r = json_decode("100"); // int var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo "1.\n"; $r = json_decode("1."); // float var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo "1.0\n"; $r = json_decode("1.0"); // float var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo ".5\n"; $r = json_decode(".5"); // float var_dump($r, json_last_error(), json_last_error_msg()); echo "\n"; echo "true\n"; $r = json_decode("true"); // bool var_dump($r, json_last_error(), json_last_error_msg());
Output for 7.0.0 - 7.0.32, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
'string' NULL int(4) string(12) "Syntax error" "string" string(6) "string" int(0) string(8) "No error" 100 int(100) int(0) string(8) "No error" 1. NULL int(4) string(12) "Syntax error" 1.0 float(1) int(0) string(8) "No error" .5 NULL int(4) string(12) "Syntax error" true bool(true) int(0) string(8) "No error"
Output for 5.5.0 - 5.5.38, 5.6.0 - 5.6.38
'string' NULL int(4) string(12) "Syntax error" "string" string(6) "string" int(0) string(8) "No error" 100 int(100) int(0) string(8) "No error" 1. float(1) int(0) string(8) "No error" 1.0 float(1) int(0) string(8) "No error" .5 float(0.5) int(0) string(8) "No error" true bool(true) int(0) string(8) "No error"

preferences:
252.25 ms | 402 KiB | 323 Q