3v4l.org

run code in 300+ PHP versions simultaneously
<?php class X {} function foo(...$args) { foreach ($args as $v) { $t = gettype($v); if ($t === 'object') { $c = get_class($t); echo "$t:$c\n"; } else { echo "$t\n"; } } $f = function(X $x, string $y, int $z) {}; $ref_func = new ReflectionFunction($f); $ref_params = $ref_func->getParameters(); foreach ($ref_params as $p) { echo "{$p->getType()}\n"; } } foo(42, "hello", new X(), 1.2e3);
Output for git.master, git.master_jit, rfc.property-hooks
integer string Fatal error: Uncaught TypeError: get_class(): Argument #1 ($object) must be of type object, string given in /in/WDJ1O:10 Stack trace: #0 /in/WDJ1O(25): foo(42, 'hello', Object(X), 1200.0) #1 {main} thrown in /in/WDJ1O on line 10
Process exited with code 255.

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