3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Ints extends ArrayObject { public function offsetGet($index) : int { var_dump('offsetGet'); return parent::offsetGet($index); } } $ints = new Ints([1,2,'foo']); for ($i = 0; $i < 3; $i++) { var_dump($ints[$i]); }
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.30, 8.2.0 - 8.2.26, 8.3.0 - 8.3.14, 8.4.1
string(9) "offsetGet" int(1) string(9) "offsetGet" int(2) string(9) "offsetGet" Fatal error: Uncaught TypeError: Ints::offsetGet(): Return value must be of type int, string returned in /in/1njNa:6 Stack trace: #0 /in/1njNa(12): Ints->offsetGet(2) #1 {main} thrown in /in/1njNa on line 6
Process exited with code 255.
Output for 7.3.0 - 7.3.33, 7.4.0 - 7.4.33
string(9) "offsetGet" int(1) string(9) "offsetGet" int(2) string(9) "offsetGet" Fatal error: Uncaught TypeError: Return value of Ints::offsetGet() must be of the type int, string returned in /in/1njNa:6 Stack trace: #0 /in/1njNa(12): Ints->offsetGet(2) #1 {main} thrown in /in/1njNa on line 6
Process exited with code 255.
Output for 7.0.0 - 7.0.33, 7.1.0 - 7.1.28, 7.2.0 - 7.2.33
string(9) "offsetGet" int(1) string(9) "offsetGet" int(2) string(9) "offsetGet" Fatal error: Uncaught TypeError: Return value of Ints::offsetGet() must be of the type integer, string returned in /in/1njNa:6 Stack trace: #0 /in/1njNa(12): Ints->offsetGet(2) #1 {main} thrown in /in/1njNa on line 6
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
Parse error: syntax error, unexpected ':', expecting ';' or '{' in /in/1njNa on line 4
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected ':', expecting '{' or ';' in /in/1njNa on line 4
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/1njNa 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/1njNa 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/1njNa on line 4
Process exited with code 255.

preferences:
99.4 ms | 416 KiB | 5 Q