3v4l.org

run code in 300+ PHP versions simultaneously
<?php function f() {} class C { function f() {} static function s() {} function __invoke() { echo "In __invoke()\n"; var_dump(func_get_args()); } } $obj = new C; $anon = function() {}; function check_callable(callable $f) {} echo "f()\n"; check_callable('f'); var_dump(is_callable('f')); echo "C::s()\n"; check_callable(['C', 's']); var_dump(is_callable(['C', 's'])); check_callable('C::s'); var_dump(is_callable('C::s')); echo "Closure\n"; check_callable($anon); var_dump(is_callable($anon)); echo "C::__invoke()\n"; check_callable($obj); var_dump(is_callable($obj)); echo "C::f()\n"; check_callable([$obj, 'f']); var_dump(is_callable([$obj, 'f']));

preferences:
54.11 ms | 402 KiB | 5 Q