3v4l.org

run code in 300+ PHP versions simultaneously
<?php define('Foo', function () { echo "Called"; }); (Foo)();
Output for 8.1.0 - 8.1.32, 8.2.0 - 8.2.29, 8.3.0 - 8.3.25, 8.4.1 - 8.4.12
Called
Output for 8.0.0
Fatal error: Uncaught TypeError: define(): Argument #2 ($value) cannot be an object, Closure given in /in/u7ZJ1:5 Stack trace: #0 /in/u7ZJ1(5): define('Foo', Object(Closure)) #1 {main} thrown in /in/u7ZJ1 on line 5
Process exited with code 255.
Output for 7.4.33
Warning: Constants may only evaluate to scalar values, arrays or resources in /in/u7ZJ1 on line 5 Warning: Use of undefined constant Foo - assumed 'Foo' (this will throw an Error in a future version of PHP) in /in/u7ZJ1 on line 7 Fatal error: Uncaught Error: Call to undefined function Foo() in /in/u7ZJ1:7 Stack trace: #0 {main} thrown in /in/u7ZJ1 on line 7
Process exited with code 255.
Output for 7.0.33
Warning: Constants may only evaluate to scalar values or arrays in /in/u7ZJ1 on line 5 Notice: Use of undefined constant Foo - assumed 'Foo' in /in/u7ZJ1 on line 7 Fatal error: Uncaught Error: Call to undefined function Foo() in /in/u7ZJ1:7 Stack trace: #0 {main} thrown in /in/u7ZJ1 on line 7
Process exited with code 255.
Output for 5.6.40
Parse error: syntax error, unexpected '(' in /in/u7ZJ1 on line 7
Process exited with code 255.

preferences:
54.32 ms | 412 KiB | 5 Q