3v4l.org

run code in 300+ PHP versions simultaneously
<?php class Foo { function dyn(&$bing) { echo $bing . "\n"; $bing++; } static function sta(&$bing) { echo $bing . "\n"; $bing++; } } $a = 1; $cb = [new Foo, "dyn"]; $cb($a); // Fatal error //$cb = 'Foo::sta'; //$cb($a); $cb = ['Foo', 'sta']; $cb($a); echo $a; $a = 1; $cb = [new Foo, "dyn"]; call_user_func($cb, $a); $cb = 'Foo::sta'; call_user_func($cb, $a); $cb = ['Foo', 'sta']; call_user_func($cb, $a); echo $a;
Output for git.master, git.master_jit, rfc.property-hooks
1 2 3 Warning: Foo::dyn(): Argument #1 ($bing) must be passed by reference, value given in /in/kopkp on line 32 1 Warning: Foo::sta(): Argument #1 ($bing) must be passed by reference, value given in /in/kopkp on line 35 1 Warning: Foo::sta(): Argument #1 ($bing) must be passed by reference, value given in /in/kopkp on line 38 1 1

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:
78.41 ms | 402 KiB | 8 Q