3v4l.org

run code in 300+ PHP versions simultaneously
<?php function g1() { yield 1; yield 2; } function g2($g1) { yield 0; yield from $g1; echo "!\n"; yield 3; } $g1 = g1(); $g2 = g2($g1); $g2->next(); while ($g2->valid()) { var_dump($g2->current()); $g1->next(); }

preferences:
48.09 ms | 402 KiB | 5 Q