3v4l.org

run code in 150+ php & hhvm versions
Bugs & Features
<?php class Test { private $baz = 1; public static function foo() { echo "foo\n"; } public function bar() { self::test('a'); $this::test('a'); $this->test('a'); Test::test('a'); forward_static_call(array('Test','test'), array('a')); } public function baz() { printf("baz = %d\n", $this->baz); } public function __call($method, $args) { echo "non static "; var_dump($method); } public static function __callStatic($method, $args) { echo " static "; var_dump($method); } } $test = new Test; $test->bar();
Output for 5.3.0 - 5.3.2, 5.3.4 - 5.6.28, hhvm-3.10.0 - 3.13.2, 7.0.0 - 7.1.0
non static string(4) "test" non static string(4) "test" non static string(4) "test" non static string(4) "test" non static string(4) "test"
Output for 5.3.3
static string(4) "test" static string(4) "test" non static string(4) "test" static string(4) "test" non static string(4) "test"
Output for 5.1.0 - 5.2.17
Parse error: syntax error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /in/mMRuq on line 15
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected T_PAAMAYIM_NEKUDOTAYIM in /in/mMRuq on line 15
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/mMRuq on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.1, 4.3.5 - 4.4.1
Parse error: parse error, unexpected T_STRING, expecting T_OLD_FUNCTION or T_FUNCTION or T_VAR or '}' in /in/mMRuq on line 5
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error, expecting `T_OLD_FUNCTION' or `T_FUNCTION' or `T_VAR' or `'}'' in /in/mMRuq on line 5
Process exited with code 255.