[Algoritmos] – Fibonacci em PHP com yield

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());

Deixe uma resposta

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *