3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php class MyError implements \JsonSerializable { private $name; private $code; private $msg; public function __construct($errorName, $errorCode, $errorMSG) { $this->name = $errorName; $this->code = $errorCode; $this->msg = $errorMSG; } public function jsonSerialize() { return get_object_vars($this); // or return [ 'name' => $this->name, 'code' => $this->code, 'msg' => $this->msg ]; } } $error = new MyError("Page not found", 404, "Unfortunately, the page does not exist"); echo json_encode($error);
based on rfs1D
Output for 5.4.0 - 5.6.38, hhvm-3.10.1 - 3.22.0, 7.0.0 - 7.2.11
{"name":"Page not found","code":404,"msg":"Unfortunately, the page does not exist"}
Output for 5.3.0 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/b9g9h on line 19
Process exited with code 255.
Output for 5.1.0 - 5.2.17
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/b9g9h on line 2 Parse error: syntax error, unexpected '[' in /in/b9g9h on line 19
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Warning: Unexpected character in input: '\' (ASCII=92) state=1 in /in/b9g9h on line 2 Parse error: parse error, unexpected '[' in /in/b9g9h on line 19
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting '{' in /in/b9g9h on line 2
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting '{' in /in/b9g9h on line 2
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `'{'' in /in/b9g9h on line 2
Process exited with code 255.