3v4l.org

run code in 300+ PHP versions simultaneously
<?php class MyClass { function doSomething() { echo "HELLO WORLD\n"; } } $myInstance = null; $broken = function() use ($myInstance) { if(!empty($myInstance)) $myInstance->doSomething(); else echo "\$myInstance is empty.\n"; var_dump($myInstance); // NULL }; $working = function() use (&$myInstance) { if(!empty($myInstance)) $myInstance->doSomething(); else print "\$myInstance is empty.\n"; }; $myInstance = new MyClass(); $myInstance->doSomething(); // Outputs HELLO WORLD. $broken(); // Outputs $myInstance is empty. NULL $working(); // Outputs HELLO WORLD.
Output for git.master, git.master_jit, rfc.property-hooks
HELLO WORLD $myInstance is empty. NULL HELLO WORLD

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