3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A { /** @var B $b */ private $b; public function __construct() { $this->b = new B($this); } public function getB() { return $this->b; } } class B { /** @var A $a */ private $a; /** @var A $a */ public function __construct(A $a) { $this->a = $a; } } $a = new A(); $b = new B($a); var_dump($a); var_dump($a->getB());
Output for git.master, git.master_jit, rfc.property-hooks
object(A)#1 (1) { ["b":"A":private]=> object(B)#2 (1) { ["a":"B":private]=> *RECURSION* } } object(B)#2 (1) { ["a":"B":private]=> object(A)#1 (1) { ["b":"A":private]=> *RECURSION* } }

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:
164.81 ms | 406 KiB | 5 Q