3v4l.org

run code in 300+ PHP versions simultaneously
<?php $json = 'invalid json test'; try { $array = json_decode($json, true, 512, JSON_THROW_ON_ERROR); printf('Valid JSON output: %s', print_r($array, true)); } catch (\JsonException $exception) { printf('Invalid JSON input: %s', print_r($exception, true)); }
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.33, 8.2.0 - 8.2.29, 8.3.0 - 8.3.27, 8.4.1 - 8.4.14
Invalid JSON input: JsonException Object ( [message:protected] => Syntax error [string:Exception:private] => [code:protected] => 4 [file:protected] => /in/UhcjK [line:protected] => 6 [trace:Exception:private] => Array ( [0] => Array ( [file] => /in/UhcjK [line] => 6 [function] => json_decode [args] => Array ( [0] => invalid json test [1] => 1 [2] => 512 [3] => 4194304 ) ) ) [previous:Exception:private] => )
Output for 7.2.0 - 7.2.33
Warning: Use of undefined constant JSON_THROW_ON_ERROR - assumed 'JSON_THROW_ON_ERROR' (this will throw an Error in a future version of PHP) in /in/UhcjK on line 6 Warning: json_decode() expects parameter 4 to be integer, string given in /in/UhcjK on line 6 Valid JSON output:
Output for 7.1.26 - 7.1.33
Notice: Use of undefined constant JSON_THROW_ON_ERROR - assumed 'JSON_THROW_ON_ERROR' in /in/UhcjK on line 6 Warning: json_decode() expects parameter 4 to be integer, string given in /in/UhcjK on line 6 Valid JSON output:

preferences:
154.57 ms | 409 KiB | 5 Q