3v4l.org

run code in 300+ PHP versions simultaneously
<?php function call_debug_backtrace($errno, $errstr) { static $call = 0; $call++; echo "call {$call}: {$errstr}\n"; $bt = debug_backtrace(); $args = $bt[1]["args"]; foreach ($args as $k => $v) { $n = $k + 1; echo "call {$call}: argument {$n} is '{$v}'\n"; $args[$k] = "altered {$call}:{$n}"; $bt2 = debug_backtrace(); if ($bt2[1]["args"][$k] === $args[$k]) { echo "call {$call}: updated argument {$n} to '{$args[$k]}'\n"; } } } set_error_handler("call_debug_backtrace"); function foo($a, stdClass $b, stdClass $c) { var_dump($a); var_dump($b); var_dump($c); } foo(1, 2, 3);
Output for git.master, git.master_jit, rfc.property-hooks
Fatal error: Uncaught TypeError: foo(): Argument #2 ($b) must be of type stdClass, int given, called in /in/7B3jB on line 28 and defined in /in/7B3jB:22 Stack trace: #0 /in/7B3jB(28): foo(1, 2, 3) #1 {main} thrown in /in/7B3jB on line 22
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:
43.59 ms | 401 KiB | 8 Q