3v4l.org

run code in 300+ PHP versions simultaneously
<?php function foo($foo = 'foo', $bar) {} function str($value) { return $value === true ? 'true' : ($value === false ? 'false' : ($value === null ? 'null' : '' . $value)); } function dump_function($fn) { $rf = new ReflectionFunction($fn); $fmt = "%-10s %-5s %-5s %s\n"; vprintf($fmt, array('name', 'opt?', 'def?', 'value')); foreach ($rf->getParameters() as $param) { $p = $param; $dv = $p->isDefaultValueAvailable() ? str($p->getDefaultValue()) : '-'; printf($fmt, $param->getName(), str($p->isOptional()), str($p->isDefaultValueAvailable()), $dv); } } dump_function('foo');
Output for git.master_jit, git.master
Deprecated: foo(): Optional parameter $foo declared before required parameter $bar is implicitly treated as a required parameter in /in/qgbh7 on line 2 name opt? def? value foo false false - bar false false -
Output for rfc.property-hooks
Deprecated: Optional parameter $foo declared before required parameter $bar is implicitly treated as a required parameter in /in/qgbh7 on line 2 name opt? def? value foo false false - bar false false -

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:
31.7 ms | 407 KiB | 5 Q