3v4l.org

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

preferences:
39.78 ms | 402 KiB | 5 Q