3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A{ protected $stuff; function __construct($foo){ if(!is_float($foo)) throw new TypeError("Not a float."); $this->stuff = $foo; } static function __set_state($data){ return new A($data['stuff']); } } $x = new A(0.0); eval(var_export($x, true) . ';');
Output for 7.0.2 - 7.0.33, 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.34, 8.2.0 - 8.2.30, 8.3.0 - 8.3.30, 8.4.1 - 8.4.18, 8.5.0 - 8.5.3
Output for 7.0.0 - 7.0.1
Fatal error: Uncaught TypeError: Not a float. in /in/4nOfS:7 Stack trace: #0 /in/4nOfS(11): A->__construct(0) #1 /in/4nOfS(16) : eval()'d code(2): A::__set_state(Array) #2 /in/4nOfS(16): eval() #3 {main} thrown in /in/4nOfS on line 7
Process exited with code 255.
Output for 5.1.0 - 5.1.6, 5.2.0 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.40
Fatal error: Class 'TypeError' not found in /in/4nOfS on line 7
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Fatal error: Cannot redeclare class a in /in/4nOfS(16) : eval()'d code on line 1
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/4nOfS on line 4
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.3.11, 4.4.0 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/4nOfS on line 4
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/4nOfS on line 4
Process exited with code 255.

preferences:
105.03 ms | 2632 KiB | 4 Q