3v4l.org

run code in 300+ PHP versions simultaneously
<?php function nums() { for ($i = 0; $i < 5; ++$i) { //get a value from the caller $cmd = (yield $i); var_dump('cmd', $cmd); if($cmd == 'stop') { //exit the function } } } $gen = nums(); foreach($gen as $v) { if($v == 3) { $send = $gen->send('stop'); var_dump("send ",$send); } //if (isset($send)) var_dump($send); echo "--{$v}\n"; }

preferences:
35.56 ms | 402 KiB | 5 Q