3v4l.org

run code in 300+ PHP versions simultaneously
<?php function executeFns(Generator $fnProvider, $args = []) { $lastResult = 0; while ($fnProvider->valid()) { try { $fn = $fnProvider->current(); $lastResult = $fn($lastResult); $fnProvider->send($lastResult); } catch (Exception $e) { $fnProvider->throw($e); } } } $fns = [ function ($n) { return $n + 1; }, function ($n) { return $n + 2; }, function ($n) { return $n + 3; }, function ($n) { return $n + 4; }, function ($n) { throw new Exception('Throwin\' \'cepshuns, just cuz!'); } ]; function debuggingFnProvider(array $fns) { foreach ($fns as $fn) { try { $result = (yield $fn); echo "Result: {$result}\n"; } catch (Exception $e) { echo "Error: " . $e->getMessage() . "\n"; } } } executeFns(debuggingFnProvider($fns));
Output for git.master, git.master_jit, rfc.property-hooks
Result: 1 Result: 3 Result: 6 Result: 10 Error: Throwin' 'cepshuns, just cuz!

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