3v4l.org

run code in 300+ PHP versions simultaneously
<?php function g1() { yield 2; yield 3; return 42; } function g2() { yield 1; $g1result = yield from g1(); yield 4; return $g1result; } var_dump(iterator_to_array(g2())); $g = g2(); $a = []; foreach ($g as $yielded) { $a[] = $yielded; } var_dump($a); var_dump($g->getReturn());

preferences:
45.58 ms | 2234 KiB | 5 Q