Apostila Completa em PDF para download
Quando usar WHILE, DO WHILE ou FOR
Aprendemos três laços, em PHPLaço WHILE
Laço DO WHILE
Laço FOR
E vimos como usar cada um deles, com exemplos de código.
Mas a maior dificuldade é em saber quando usar cada um: não existe melhor ou pior, use o que achar mais confortável.
O WHILE é, de longe, o mais simples. Executa um código sempre que uma condição for verdadeira.
Muito usado para loopings infinitos ocorrem indefinidamente. Se usa muito WHILE quando você NÃO sabe quando o laço vai terminar.
Se você não sabe se seu teste condicional vai ser validade ou não e quiser sempre que ao menos uma iteração ocorra, use o laço DO WHILE. Ele executa primeiro o código, uma vez pelo menos, e só depois faz o teste condicional.
O laço que mais iremos usar é, sem dúvidas, o FOR, pois é mais completo e poderoso.
Nele, de cara, já inicializamos nossas variáveis, criamos a expressão condicional e a de mudança.
Usamos ele quando sabemos quando começa e exatamente onde termina.
Mas, essencialmente, são todos a mesma coisa.
Tabuada com Laço WHILE
O script abaixo pede um número ao usuário, e exibe a tabuada de tal número usando o laço WHILE:<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Tabuada do: <input type="text" name="tab" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $tabuada = $_GET['tab']; $count=1; while($count<=10){ echo $tabuada." x ".$count." = ".($tabuada*$count)."<br />"; $count++; } ?> </body> </html>
Tabuada com Laço DO WHILE
O script abaixo pede um número ao usuário, e exibe a tabuada de tal número usando o laço DO WHILE:<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Tabuada do: <input type="text" name="tab" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $tabuada = $_GET['tab']; $count=1; do{ echo $tabuada." x ".$count." = ".($tabuada*$count)."<br />"; $count++; }while($count<=10); ?> </body> </html>
Tabuada com Laço FOR
O script abaixo pede um número ao usuário, e exibe a tabuada de tal número usando o laço FOR:<html> <head> <title>Apostila PHP Progressivo</title> </head> <body> <form action="" method="get"> Tabuada do: <input type="text" name="tab" /><br /> <input type="submit" name="submit" value="Testar" /> </form> <?php $tabuada = $_GET['tab']; for($count=1; $count<=10; $count++) echo $tabuada." x ".$count." = ".($tabuada*$count)."<br />"; ?> </body> </html>