3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public function publicFN() { echo "\npublic call\n"; } protected function protectedFN() { echo "\nprotected call\n"; } private function privateFN() { echo "\nprivate call\n"; } } $foo = new Foo(); foreach (['publicFN', 'protectedFN', 'privateFN'] as $fn) { $callable = [$foo, $fn]; if (method_exists($foo, $fn)) { printf("%s::%s() exists\n", get_class($foo), $fn); } if (is_callable($callable)) { $callable(); } }

preferences:
35.88 ms | 406 KiB | 5 Q