3v4l.org

run code in 300+ PHP versions simultaneously
<?php function mutate($value, Generator $mutator) { while ($mutator->valid()) { try { $fn = $mutator->current(); $value = $fn($value); $mutator->send($value); } catch (Exception $e) { $mutator->throw($e); } } } $mutations = [ 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('Bad Mutation'); } ]; function debuggingMutator(array $mutations) { foreach ($mutations as $mutation) { $result = (yield $mutation); echo "Result: {$result}\n"; } } mutate(0, debuggingMutator($mutations));
Output for git.master, git.master_jit, rfc.property-hooks
Result: 1 Result: 3 Result: 6 Result: 10 Fatal error: Uncaught Exception: Bad Mutation in /in/208oN:21 Stack trace: #0 /in/208oN(8): {closure}(10) #1 /in/208oN(32): mutate(10, Object(Generator)) #2 {main} thrown in /in/208oN on line 21
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:
32.71 ms | 401 KiB | 8 Q