3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { public function __get($name) { echo __METHOD__ . "($name)" . PHP_EOL; switch ($name) { case 'foo': return new Foo(); case 'bar': return 'bar'; default: return null; } } public function __isset($name) { echo __METHOD__ . "($name)" . PHP_EOL; return $name === 'bar'; } } $foo = new Foo(); echo (empty($foo->foo->bar) ? 'is empty' : 'is not empty') . PHP_EOL;

Shows result from various feature-branches currently under review from the php developers. Contact me to have additional branches featured.

Output for branch master
Foo::__isset(foo) is empty

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