Gostou do nosso conteúdo? Te ajudou?
Nos ajude também! Faça um PIX, de qualquer valor:
programacao.progressiva@gmail.com

Série de Fibonacci em PHP, com LAÇOS

Neste tutorial, vamos aprender como gerar a série de Fibonacci, usando apenas laços, em PHP.

Série de Fibonacci

A série de Fibonacci é aquela composta pelos números 0 e 1, inicialmente.

A partir daí, cada termo é a soma dos dois anteriores.
Vamos formar a série:

Termo 1 = 0
Termo 2 = 1
Termo 3 = 1 + 0 = 1
Termo 4 = 1 + 1 = 2
Termo 5 = 2 + 1 = 3
Termo 6 = 3 + 2 = 5
...

Ela é infinita e possui uma série de funções interessantes, além de aparições curiosas na natureza.
Vale a leitura:
https://pt.wikipedia.org/wiki/Sequ%C3%AAncia_de_Fibonacci

Como Fazer a Série de Fibonacci com Laços

Inicialmente, exibimos os termos 0 e 1. Ou seja, o usuário tem que inserir um número maior que 2, para expressar o número de termos que deseja ver.

Vamos usar três variáveis:
$atual - exibe o número atual, da série
$ultimo - último número da série
$penultimo - penúltimo número da série

Inicialmente:
$ultimo=1;
$penultimo=0;

Assim, o próximo termo da sequência será sempre:
$atual = $ultimo + $penultimo;
Após isso, exibimos o $ultimo com um echo.

Agora, temos que atualizar o valor das variáveis, fazer elas darem um pulo pra frente.
O novo valor de $penultimo será $ultimo, e o novo valor de $ultimo vai ser $atual (esse é o passo mais importante para se entender, se não entender tente novamente, até conseguir).

Nossa variável de controle vai de 1 até $n-2 (onde $n é o número de termos que o usuário deseja ver, da série), subtraímos dois pois já exibimos os dois primeiros valores:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Exibir até(maior que 2): <input type="number" name="number" /><br />
  <input type="submit" name="submit" value="Calcular" />
 </form> 
 <?php 
  $n=$_GET['number'];
  $ultimo=1;
  $penultimo=0;
    
  echo "0<br />1<br />";
  for($count=1 ; $count<=$n-2 ; $count++){
   $atual = $ultimo + $penultimo;
   echo $atual."<br />";
   
   $penultimo = $ultimo;
   $ultimo = $atual;
  } 
 ?>
 </body>
</html>