3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function xrange() { for ($i = 0; $i < 1000; $i++) { yield $i; } } $range = xrange(0,1000); echo "first\n"; $j = 0; foreach ($range as $i) { if ($j++ >= 500) { break; } } echo "($i) second ($j)\n"; $first = true; foreach ($range as $i) { if ($first) var_dump($i); $first=false; } echo "($i)\n";
based on HJ6IO
Output for 7.0.0 - 7.3.0rc4
first (500) second (501) Fatal error: Uncaught Exception: Cannot rewind a generator that was already run in /in/NZNci:19 Stack trace: #0 {main} thrown in /in/NZNci on line 19
Process exited with code 255.
Output for hhvm-3.15.4 - 3.22.0
first (500) second (501) int(500) (999)
Output for 5.6.0 - 5.6.38
first (500) second (501) Fatal error: Uncaught exception 'Exception' with message 'Cannot rewind a generator that was already run' in /in/NZNci:19 Stack trace: #0 /in/NZNci(19): unknown() #1 {main} thrown in /in/NZNci on line 19
Process exited with code 255.