- 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) { // $g == $gen->current()
echo $g;
if ($gen->current() == 4) {
$gen->send("\n999\n"); // injecting a value
echo $gen->current();
}
}