3v4l.org

run code in 300+ PHP versions simultaneously
<?php function genmer($gens) { foreach($gens as $gen) { while($gen->valid()) { yield $gen->current(); $gen->next(); } } } function gen_one_to_three() { for ($i = 1; $i <= 3; $i++) { // Note that $i is preserved between yields. yield $i; } } $on = gen_one_to_three(); $two = gen_one_to_three(); $three = gen_one_to_three(); $merged = [$on, $two, $three]; foreach($merged as $m) { foreach($m as $g) { var_dump($m); } }

preferences:
35.84 ms | 402 KiB | 5 Q