3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { private $vars; public function __get($name) { if (!isset($this->vars[$name])) { $arrObj = array(); $arrObj[] = new B(); $arrObj[] = new B(); $this->vars[$name] = $arrObj; } return $this->vars[$name]; } } class B { public $rolename = 'foo'; } $a = new A; var_dump($a); echo $a->role[0]->rolename.PHP_EOL; $a->role[0]->rolename = 'test'; echo $a->role[0]->rolename;
Output for git.master, git.master_jit, rfc.property-hooks
object(A)#1 (1) { ["vars":"A":private]=> NULL } foo Notice: Indirect modification of overloaded property A::$role has no effect in /in/9KlKt on line 28 test

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:
44.12 ms | 401 KiB | 8 Q