3v4l.org

run code in 300+ PHP versions simultaneously
<?php function set_trace(\Throwable $e) { $reflection = new \ReflectionProperty( $e instanceof \Error ? \Error::class : \Exception::class, 'trace' ); $reflection->setAccessible(true); $reflection->setValue($e, \debug_backtrace()); return $e; } function deeper_stack(int $depth, callable $callback, ...$args) { return $depth > 1 ? deeper_stack($depth - 1, $callback, ...$args) : $callback(...$args); } echo deeper_stack(5, 'set_trace', new Error);
Output for git.master, git.master_jit, rfc.property-hooks
Error in /in/nCi9N:22 Stack trace: #0 /in/nCi9N(19): set_trace(Object(Error)) #1 /in/nCi9N(18): deeper_stack(1, 'set_trace', Object(Error)) #2 /in/nCi9N(18): deeper_stack(2, 'set_trace', Object(Error)) #3 /in/nCi9N(18): deeper_stack(3, 'set_trace', Object(Error)) #4 /in/nCi9N(18): deeper_stack(4, 'set_trace', Object(Error)) #5 /in/nCi9N(22): deeper_stack(5, 'set_trace', Object(Error)) #6 {main}

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.67 ms | 1534 KiB | 4 Q