3v4l.org

run code in 200+ php & hhvm versions
Bugs & Features
<?php function count_to_ten() { $i = 1; $cmd = yield $i; if ($cmd == 't') { echo "close"; return false; } yield 3 => 2; yield from [3, 4]; yield from new ArrayIterator([5, 6]); yield from seven_eight(); return yield from nine_ten(); } function seven_eight() { yield 7; yield from eight(); } function eight() { yield 8; } function nine_ten() { yield 9; return 10; } $gen = count_to_ten(); foreach ($gen as $k => $num) { echo "$k -> $num \n"; } echo $gen->getReturn(); echo $gen->send('t');
based on oYVOp
Output for 7.0.0 - 7.2.6
0 -> 1 3 -> 2 0 -> 3 1 -> 4 0 -> 5 1 -> 6 0 -> 7 0 -> 8 0 -> 9 10
Output for hhvm-3.15.4
0 -> 1 3 -> 2 0 -> 3 1 -> 4 0 -> 5 1 -> 6 0 -> 7 0 -> 8 0 -> 9 10 Fatal error: Uncaught exception 'Exception' with message 'Generator is already finished' in /in/BXDK0:36 Stack trace: #0 /in/BXDK0(36): Generator->send() #1 {main}
Process exited with code 255.
Output for 5.6.0 - 5.6.30
Parse error: syntax error, unexpected '$i' (T_VARIABLE) in /in/BXDK0 on line 5
Process exited with code 255.