3v4l.org

run code in 300+ PHP versions simultaneously
<?php class C { private $myCodeCapsule; public function store(&$value) { $initialValue = $value; $this->myCodeCapsule = function () use (&$value, $initialValue) { $value = $initialValue; }; } public function execute() { $this->myCodeCapsule->__invoke(); } } $obj = new C; $x=1; $obj->store($x); $x=0; $obj->execute(); var_dump($x);

preferences:
53.13 ms | 402 KiB | 5 Q