0 && $set->valid()) { yield $set->current(); $set->next(); } } /* * Fibonacci generator */ function fib() { yield $i = 0; yield $j = 1; while (true) { yield $k = $i + $j; $i = $j; $j = $k; } } /* * Generate 100 Fibonacci numbers */ foreach (loop(100, fib()) as $item) { print($item . ','); }