3v4l.org

run code in 300+ PHP versions simultaneously
<?php function gen() { yield 0; yield 1; yield 2; } $gen = (function(){ $foo = gen(); $foo->rewind(); $foo->valid(); yield $foo->key() => $foo->current(); $foo->next(); $foo->rewind(); $foo->valid(); yield $foo->key() => $foo->current(); yield from $foo; })(); foreach($gen as $k => $v){ echo $k . " => " . $v . "\n"; }
Output for 7.1.25 - 7.1.33, 7.2.0 - 7.2.33, 7.3.0 - 7.3.33, 7.4.0 - 7.4.30, 8.0.0 - 8.0.20, 8.1.0 - 8.1.7
0 => 0 Fatal error: Uncaught Exception: Cannot rewind a generator that was already run in /in/3LfvJ:17 Stack trace: #0 /in/3LfvJ(17): Generator->rewind() #1 /in/3LfvJ(24): {closure}() #2 {main} thrown in /in/3LfvJ on line 17
Process exited with code 255.

preferences:
31.6 ms | 410 KiB | 5 Q