Bora ajudar o programador a transformar café em código?

Laço DO WHILE em PHP

Neste tutorial de nosso curso de PHP, vamos aprender como usar este tal de looping DO WHILE.

Baixar apostila COMPLETA de PHP

Laço DO WHILE: O que é? Para que Serve ?

Quando estudamos o looping WHILE, deixamos uma coisa bem clara:
O código só era executado se o teste condicional dentro do WHILE fosse verdade.

Ou seja, primeiro o teste, só depois o código.
Se o teste for FALSE de cara, o interpretador PHP vai passar batido pelo laço WHILE e seu código, vai ver que a condição é falsa, não executa nada e é como se ele não tivesse existido.

Muitas vezes, queremos que o código rode, pelo menos uma vez, e é aí que entra o DO WHILE.
O Laço do while é bem semelhantes ao laço while, porém ele é pós condicionado ao invés de ser pré.

Se você precisar que a condição seja verificada de início, use WHILE.
Se você precisar que o teste condicional seja feito só ao final de cada looping, use DO WHILE.

Vamos entender melhor o que isso tudo significa.

Looping DO WHILE: Como usar ?

A sintaxe para usar, corretamente, o laço DO WHILE é:
<?php 
 do{
  codigo;
  codigo;
 }while(teste_condicional);
?>
Ou seja, primeiro o looping, só ao termino do código é que é feito o teste condicional.

Relembre o inglês. WHILE significa enquanto.
Enquanto a condição for verdadeira, executa. Ou seja, no looping while, só executa se o teste for verdadeiro.

Do significa faça.
Do while, faça...enquanto.

Note que tem um faça, primeiro. É porque a primeira iteração (primeira rodada do código) SEMPRE OCORRE, independente da condição.

São duas as diferenças do WHILE pro DO WHILE.

  1. A primeira iteração do código sempre ocorre.
  2. O WHILE é um laço pré-condicionado, primeiro a condição. DO WHILE é pós-condicionado, primeiro o código e só depois a condição.

Exemplo de Código DO WHILE

O script simples abaixo mostra como a primeira iteração do laço é sempre executada.
Ela exibe uma mensagem na tela, mesmo a condição sendo falsa (0):

<?php 
 do{
  echo "Condição falsa";
 }while(0);
?>

Note como ela executou apenas uma vez.

Exemplo de DO WHILE: Contante de 1 até 100

Veja agora como fica a contagem de 1 até 100 em PHP, usando laço DO WHILE:

<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <?php 
  $count=1;
  do{
   echo "$count <br />";
   $count++;
  }while($count<=100);
 ?>
 </body>
</html>

Exemplo de DO WHILE: Contar até onde o usuário quiser

O script a seguir pergunta um número para o usuário.
Então, via looping DO WHILE, o PHP imprime na tela todos os números de 1 até o valor que o usuário pediu:

<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
 <form action="" method="get">
  Contar até:  <input type="text" name="count" /><br />
  <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php 
  $final = $_GET['count'];
  $contador = 1;
  do{
   echo "$contador <br />";
   $contador++;
  }while($contador<=$final);
 ?>
 </body>
</html>

Veja também

O melhor PC para programar

O melhor celular para programar