3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public function PublicMethod() {} private function PrivateMethod() {} public static function PublicStaticMethod() {} private static function PrivateStaticMethod() {} } $foo = new Foo(); $callbacks = array( array($foo, 'PublicMethod'), array($foo, 'PrivateMethod'), array($foo, 'PublicStaticMethod'), array($foo, 'PrivateStaticMethod'), array('Foo', 'PublicMethod'), array('Foo', 'PrivateMethod'), array('Foo', 'PublicStaticMethod'), array('Foo', 'PrivateStaticMethod'), ); foreach ($callbacks as $callback) { var_dump($callback); var_dump(method_exists($callback[0], $callback[1])); // 0: object / class name, 1: method name var_dump(is_callable($callback)); echo str_repeat('-', 40), "\n"; }
Output for git.master, git.master_jit, rfc.property-hooks
array(2) { [0]=> object(Foo)#1 (0) { } [1]=> string(12) "PublicMethod" } bool(true) bool(true) ---------------------------------------- array(2) { [0]=> object(Foo)#1 (0) { } [1]=> string(13) "PrivateMethod" } bool(true) bool(false) ---------------------------------------- array(2) { [0]=> object(Foo)#1 (0) { } [1]=> string(18) "PublicStaticMethod" } bool(true) bool(true) ---------------------------------------- array(2) { [0]=> object(Foo)#1 (0) { } [1]=> string(19) "PrivateStaticMethod" } bool(true) bool(false) ---------------------------------------- array(2) { [0]=> string(3) "Foo" [1]=> string(12) "PublicMethod" } bool(true) bool(false) ---------------------------------------- array(2) { [0]=> string(3) "Foo" [1]=> string(13) "PrivateMethod" } bool(true) bool(false) ---------------------------------------- array(2) { [0]=> string(3) "Foo" [1]=> string(18) "PublicStaticMethod" } bool(true) bool(true) ---------------------------------------- array(2) { [0]=> string(3) "Foo" [1]=> string(19) "PrivateStaticMethod" } bool(true) bool(false) ----------------------------------------

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
39.34 ms | 403 KiB | 8 Q