3v4l.org

run code in 300+ PHP versions simultaneously
<?php class MyClass { public function myMethod($foo) { $reflection = new ReflectionMethod(__CLASS__, __FUNCTION__); $arg_names = []; foreach ($reflection->getParameters() as $parameter) { $arg_names[] = $parameter->name; } if (!in_array('args', $arg_names)) { echo "This is where the deprecation message would be set"; $args = func_get_args(); unset($args[0]); } echo $foo . "\n"; print_r($args); } } class ChildClass extends MyClass { public function myMethod($foo, ...$args) { $reflection = new ReflectionMethod(__CLASS__, __FUNCTION__); $arg_names = []; foreach ($reflection->getParameters() as $parameter) { $arg_names[] = $parameter->name; } if (!in_array('args', $arg_names)) { echo "This is where the deprecation message would be set"; $args = func_get_args(); unset($args[0]); } echo $foo . "\n"; print_r($args); } } $myClass = new MyClass(); $myClass->myMethod("Hi", "here", "are","some", "args"); echo "\n"; $childClass = new ChildClass(); $childClass->myMethod("Hi", "here", "are","some", "args");
Output for git.master, git.master_jit, rfc.property-hooks
This is where the deprecation message would be setHi Array ( [1] => here [2] => are [3] => some [4] => args ) Hi Array ( [0] => here [1] => are [2] => some [3] => args )

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:
25.03 ms | 405 KiB | 5 Q