3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public $references; private $bar; public function __construct() { $this->references = ['bar' => & $this->bar]; unset($this->baz); } public function & __get($name) { if (! isset($this->$name)) { var_dump('initialized'); $this->$name = 'initialized - ' . $name; } return $this->$name; } } $foo = new Foo(); var_dump($foo->references); $foo->references['bar'] = 'bar pre-initialized'; var_dump($foo->bar);

preferences:
45.13 ms | 402 KiB | 5 Q