3v4l.org

run code in 300+ PHP versions simultaneously
<?php class A{ public function __construct(){ $b = new B(); $a = $this; $b->a[] = function() use($a){ $a->x(); }; $b->callA(); } public function x(){ var_dump('a'); } } class B { public $a; public function callA(){ $this->a[0](); } } $a = new A();

preferences:
36.47 ms | 402 KiB | 5 Q