3v4l.org

run code in 300+ PHP versions simultaneously
<?php define("STOP",0); function generate_ints($n){ foreach ( range(0,$n) as $number) { $number = (yield $number); yield $number; } } $gen = generate_ints(5); // iterable object can be used in foreach foreach ($gen as $g) { $c = $gen->current(); echo $c; if ($c == 4) { $gen->send(STOP); // injecting a value to stop the generator; } }

preferences:
55.22 ms | 402 KiB | 5 Q