3v4l.org

run code in 300+ PHP versions simultaneously
<?php class PropertyTest { public function __set($name, $value) { echo "Setting '$name' to '$value'\n"; $this->data[$name] = $value; } public function __get($name) { echo "Getting '$name'\n"; if (array_key_exists($name, $this->data)) { return $this->data[$name]; }}public function __isset($name) { echo "Is '$name' set?\n"; return isset($this->data[$name]); } } echo "<pre>\n"; $obj = new PropertyTest; $obj->a = 1; echo $obj->a . "\n\n"; var_dump(isset($obj->a)); ?>
Output for git.master, git.master_jit, rfc.property-hooks
<pre> Setting 'a' to '1' Getting 'data' Warning: Undefined property: PropertyTest::$data in /in/TrpHv on line 13 Fatal error: Uncaught TypeError: array_key_exists(): Argument #2 ($array) must be of type array, null given in /in/TrpHv:13 Stack trace: #0 /in/TrpHv(8): PropertyTest->__get('data') #1 /in/TrpHv(27): PropertyTest->__set('a', 1) #2 {main} thrown in /in/TrpHv on line 13
Process exited with code 255.

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:
77.48 ms | 401 KiB | 8 Q