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"; foreach ($range as $i) {} echo "($i)\n";
based on T43tS
Output for 7.0.0 - 7.2.6
first (500) second (501) Fatal error: Uncaught Exception: Cannot rewind a generator that was already run in /in/HJ6IO:18 Stack trace: #0 {main} thrown in /in/HJ6IO on line 18
Process exited with code 255.
Output for hhvm-3.15.4
first (500) second (501) (999)
Output for 5.6.0 - 5.6.30
first (500) second (501) Fatal error: Uncaught exception 'Exception' with message 'Cannot rewind a generator that was already run' in /in/HJ6IO:18 Stack trace: #0 /in/HJ6IO(18): unknown() #1 {main} thrown in /in/HJ6IO on line 18
Process exited with code 255.