3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php abstract class Model { protected static $__columns = []; protected static $cache = []; public function test() { $modelName = get_class($this); var_dump($modelName::$cache); static::$cache = $modelName::$__columns; var_dump($modelName::$cache); } } class A extends Model { protected static $__columns = ["aaa", "aa", "a"]; } class B extends Model { protected static $__columns = ["bbb", "bb", "b"]; } $a = new A(); $a->test(); $b = new B(); $b->test(); $a->test();
based on ONsAd
Output for 5.4.0 - 7.2.0
array(0) { } array(3) { [0]=> string(3) "aaa" [1]=> string(2) "aa" [2]=> string(1) "a" } array(3) { [0]=> string(3) "aaa" [1]=> string(2) "aa" [2]=> string(1) "a" } array(3) { [0]=> string(3) "bbb" [1]=> string(2) "bb" [2]=> string(1) "b" } array(3) { [0]=> string(3) "bbb" [1]=> string(2) "bb" [2]=> string(1) "b" } array(3) { [0]=> string(3) "aaa" [1]=> string(2) "aa" [2]=> string(1) "a" }
Output for 5.1.0 - 5.3.29
Parse error: syntax error, unexpected '[' in /in/6juD2 on line 5
Process exited with code 255.
Output for 5.0.0 - 5.0.5
Parse error: parse error, unexpected '[' in /in/6juD2 on line 5
Process exited with code 255.
Output for 4.4.2 - 4.4.9
Parse error: syntax error, unexpected T_CLASS in /in/6juD2 on line 3
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_CLASS in /in/6juD2 on line 3
Process exited with code 255.
Output for 4.3.2 - 4.3.4
Parse error: parse error in /in/6juD2 on line 3
Process exited with code 255.