3v4l.org

run code in 300+ PHP versions simultaneously
<?php function bar(callable $fn) { echo "It passed a callable check\n"; $fn(); } class foo { function bar() { echo "oh dear lord, this is an instance function"; } } $foo = new foo; bar(['foo', 'bar']);
Output for 8.0.0 - 8.0.30, 8.1.0 - 8.1.28, 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Fatal error: Uncaught TypeError: bar(): Argument #1 ($fn) must be of type callable, array given, called in /in/6l4LN on line 19 and defined in /in/6l4LN:3 Stack trace: #0 /in/6l4LN(19): bar(Array) #1 {main} thrown in /in/6l4LN on line 3
Process exited with code 255.
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.25, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.33
Deprecated: Non-static method foo::bar() should not be called statically in /in/6l4LN on line 3 It passed a callable check Deprecated: Non-static method foo::bar() should not be called statically in /in/6l4LN on line 6 oh dear lord, this is an instance function
Output for 7.3.32 - 7.3.33
It passed a callable check oh dear lord, this is an instance function
Output for 5.4.2 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28
Strict Standards: Non-static method foo::bar() should not be called statically in /in/6l4LN on line 3 It passed a callable check Strict Standards: Non-static method foo::bar() should not be called statically in /in/6l4LN on line 6 oh dear lord, this is an instance function

preferences:
226.24 ms | 402 KiB | 241 Q