3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public static $my_static = 'foo'; public function staticValue() { return self::$my_static; } } class Bar extends Foo { public function fooStatic() { return parent::$my_static; } } print Foo::$my_static . "\n"; $foo = new Foo(); print $foo->staticValue() . "\n"; print $foo->my_static . "\n"; // Undefined "Property" my_static print $foo::$my_static . "\n"; $classname = 'Foo'; print $classname::$my_static . "\n"; // As of PHP 5.3.0 print Bar::$my_static . "\n"; $bar = new Bar(); print $bar->fooStatic() . "\n";
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
foo foo Notice: Accessing static property Foo::$my_static as non static in /in/sRKR9 on line 23 Warning: Undefined property: Foo::$my_static in /in/sRKR9 on line 23 foo foo foo foo
Output for 7.0.0 - 7.0.20, 7.1.0 - 7.1.31, 7.2.0 - 7.2.33, 7.3.0 - 7.3.31, 7.4.0 - 7.4.25, 7.4.27 - 7.4.33
foo foo Notice: Accessing static property Foo::$my_static as non static in /in/sRKR9 on line 23 Notice: Undefined property: Foo::$my_static in /in/sRKR9 on line 23 foo foo foo foo
Output for 7.3.32 - 7.3.33, 7.4.26
foo foo foo foo foo foo
Output for 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.0 - 5.5.38, 5.6.0 - 5.6.30
foo foo Strict Standards: Accessing static property Foo::$my_static as non static in /in/sRKR9 on line 23 Notice: Undefined property: Foo::$my_static in /in/sRKR9 on line 23 foo foo foo foo

preferences:
239.7 ms | 402 KiB | 335 Q