3v4l.org

run code in 300+ PHP versions simultaneously
<?php function gen1($a = 0) { $i = 0; while($i < 5) { yield $a; $a = $a + 1; $i = $i + 1; } return $a * 5; } function yf() { $bs = yield from []; echo "Done with the garbage iterator. Should return nothing. Actual return value below:\n"; var_dump($bs); $som = yield from [1, 2, 3]; echo "Done with the iterator. Result was $som\n"; $res = yield from gen1(); echo "Done with the first generator. Result was $res\n"; $oth = yield from gen1($res); echo "Done with the second generator. Result was $oth\n"; return $oth; } $g = yf(); foreach($g as $val) { var_dump($val); } var_dump($g->getReturn());
Output for git.master, git.master_jit, rfc.property-hooks
Done with the garbage iterator. Should return nothing. Actual return value below: NULL int(1) int(2) int(3) Done with the iterator. Result was int(0) int(1) int(2) int(3) int(4) Done with the first generator. Result was 25 int(25) int(26) int(27) int(28) int(29) Done with the second generator. Result was 150 int(150)

This tab shows result from various feature-branches currently under review by the php developers. Contact me to have additional branches featured.

Active branches

Archived branches

Once feature-branches are merged or declined, they are no longer available. Their functionality (when merged) can be viewed from the main output page


preferences:
54.58 ms | 402 KiB | 8 Q