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.

preferences:
60.32 ms | 402 KiB | 5 Q