- range: documentation ( source)
<?php
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("\nmy lucky number is 999\n"); // injecting a value
}
}