3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { private $bar = 'baz'; private $br = 'baz'; private $ba = 'baz'; } $reader = function & ($object, $property) { $value = & Closure::bind(function & () { $l = []; foreach ($this as $name => $value) { $l[$name] = $value; } return $l; }, $object, $object)->__invoke(); return $value; }; $foo = new Foo(); $bar = & $reader($foo); var_dump($bar);

preferences:
53.12 ms | 402 KiB | 5 Q