Função PHP para retornar a sequência Fibonacci utilizando o recurso de Generators do PHP 5.5. Veja a documentação do PHP para mais detalhes.
function fibonacci($offset=1000)
{
$previous = 0;
$current = 1;
yield 1;
while (true) {
$current = $previous + $current;
$previous = $current - $previous;
if($current > $offset) break;
yield $current;
}
}
Para utilizá-la, você poderá iterar sobre o retorno da função fibonacci:
foreach(fibonacci() as $fibonacci) {
echo $fibonacci, PHP_EOL;
}
Infelizmente, dada a natureza dos Generators, não é possível fazer algo como:
echo implode(' - ', fibonacci());