3v4l.org

run code in 300+ PHP versions simultaneously
<?php $__CLASSES = []; $__CLASSES["Foo"] = [ "vars" => ["bar" => null], "methods" => [ "__construct" => function(&$this_, $bar) { $this_["vars"]["bar"] = $bar; }, "bar" => function(&$this_) { return $this_["methods"]["foo"]($this_); }, "foo" => function(&$this_) { static $bar; if (!$bar) { $bar = $this_["vars"]["bar"]; } return $bar; } ] ]; function __new($class, ...$args) { global $__CLASSES; $object = $__CLASSES[$class]; if (isset($object["methods"]["__construct"])) { $object["methods"]["__construct"]($object, ...$args); } return $object; } var_dump(($__temp = __new("Foo", 123))["methods"]["bar"]($__temp)); var_dump(($__temp = __new("Foo", 456))["methods"]["bar"]($__temp));
Output for git.master, git.master_jit, rfc.property-hooks
int(123) int(123)

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:
135.19 ms | 405 KiB | 5 Q