3v4l.org

run code in 300+ PHP versions simultaneously
<?php $obj = new Obj; $obj->oele['boele'][] = 'foo'; print_r($obj); var_dump($obj->bar); class Obj { function __construct() { $this->foo = 'bar'; } function &__get($name) { $this->$name = null; $var = &$this->$name; switch ( $name ) { case 'bar': $var = 'foo'; break; } return $this->$name; } }
Output for 8.2.0 - 8.2.18, 8.3.0 - 8.3.6
Deprecated: Creation of dynamic property Obj::$foo is deprecated in /in/ZA8uN on line 12 Deprecated: Creation of dynamic property Obj::$oele is deprecated in /in/ZA8uN on line 16 Obj Object ( [foo] => bar [oele] => Array ( [boele] => Array ( [0] => foo ) ) ) Deprecated: Creation of dynamic property Obj::$bar is deprecated in /in/ZA8uN on line 16 string(3) "foo"
Output for 5.0.4 - 5.0.5, 5.1.0 - 5.1.6, 5.2.1 - 5.2.17, 5.3.0 - 5.3.29, 5.4.0 - 5.4.45, 5.5.24 - 5.5.35, 5.6.8 - 5.6.28, 7.0.0 - 7.0.20, 7.1.0 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.33, 8.0.0 - 8.0.30, 8.1.0 - 8.1.28
Obj Object ( [foo] => bar [oele] => Array ( [boele] => Array ( [0] => foo ) ) ) string(3) "foo"
Output for 5.2.0
Notice: Indirect modification of overloaded property Obj::$oele has no effect in /in/ZA8uN on line 5 Obj Object ( [foo] => bar [oele] => ) string(3) "foo"
Output for 5.0.0 - 5.0.3
Fatal error: Cannot access undefined property for object with overloaded property access in /in/ZA8uN on line 5
Process exited with code 255.
Output for 4.3.0 - 4.3.11, 4.4.0 - 4.4.9
obj Object ( [oele] => Array ( [boele] => Array ( [0] => foo ) ) ) Notice: Undefined property: bar in /in/ZA8uN on line 8 NULL

preferences:
228.29 ms | 402 KiB | 354 Q