3v4l.org

run code in 300+ PHP versions simultaneously
<?php function gen1() { $x = yield 1; echo "Got $x from a yield\n"; $x = yield 2; echo "Got $x from a yield\n"; $x = yield 3; echo "Got $x from a yield\n"; } function yf($iter) { yield from $iter; } function yfr($iter) { $isSubgenerator = $iter instanceof Generator; foreach($iter as $val) { yield $val; } } // $g = yfr(gen1()); $g = yf(gen1()); $g->next(); var_dump($g->current()); $g->send(10); var_dump($g->current()); $g->send(20); var_dump($g->current());

preferences:
45.34 ms | 402 KiB | 5 Q