Clique sobre os tópicos listados abaixo para navegar até o conteúdo desejado.

  1. Comando for
  2. Comando foreach
  3. Comando while
  4. Comando do-while
  5. Comando break
  6. Comando continue
  7. Comando aninhados
  8. Comando for com mais de uma condição

A linguagem de programação PHP fornece os comandos de repetição for, while e do-while. Nesta parte do tutorial vamos aprender esses comandos.

Os comandos de repetição bem como o seus funcionamentos já foram discutidos em Portugol: Comandos de Repetição sendo a leitura recomendada.

Para executar trechos de forma repetida e quando sabemos a quantidade de vezes, utilizamos o comando for que possui seu fluxograma e uma sintaxe abaixo:

Fig. 1: Fluxograma - Comando for
Sintaxe
for(inicializacao ; condicao ; incremento)
{
  //seu codigo aqui
}
Onde
inicializacao: bloco para iniciar variável.
condição: condição para que a repetição seja executada.
incremento: atualização/incremento de variável utilizada em inicializacao
Exemplo 1
//main.php
<?php
  $teste;
  for($teste = 0; $teste < 3 ; $teste++){
    echo $teste,"\n";
  }
?>
Saída
0
1
2

A linguagem PHP suporta a declaração de variável dentro do bloco inicialização como mostrado no exemplo abaixo:

Exemplo 3
<?php
  for($teste = 0; $teste < 3 ; $teste++){
    echo $teste,"\n";
  }
?>
Saída
0
1
2

O comando foreach se assemelha ao comando for. A diferença é que a iteração é feita para todos os elementos. Não precisamos iniciar, validar e incrementar como é feito no comando for.

Fig. 2: Fluxograma - Comando foreach
Sintaxe
foreach( colecao as $nome_variavel)
{
    //bloco de código
}
Onde
$nome_variavel: variável que recebe o elemento iterado
colecao: objeto ou coleção que contem elementos iteráveis

Apenas tipos de dados que utilizam iteradores podem ser utilizados com o comando foreach como vetores, matrizes e strings e semelhantes. Os assuntos vetor e string podem ser vistos em PHP Básico: String e PHP Básico: Vetor.

Exemplo 4
<?php
$nomes = ["fulano", "ciclano", "beltrano"];

foreach ($nomes as $value) {
  echo $value + " ";
}
?>
Saída
fulano ciclano beltrano 

O comando while, é utilizado quando precisamos executar várias repetições quando não sabemos quantas vezes com exatidão. Porém, como se trata de um comando de repetição também pode ser usado como for.

Fig. 3: Fluxograma - Comando while
Sintaxe
while(condicao)
{
  //seu código aqui
}
Exemplo 5
//main.php
<?php
  $teste = 0;
  while($teste < 3){
    echo $teste,"\n";
    $teste++;
  }
?>
Saída
0
1
2

O comando do-while executa o trecho de código que está contido em seu corpo e posteriormente verifica a condição para decidir se deve ou não continuar realizando as repetições.

Fig. 4: Fluxograma - Comando do-while
Sintaxe
do
{
   //trecho de código executado em loop
}
while(condicao);
Exemplo 6
//main.php
<?php
  $teste = 0;
  
  do{
    echo $teste++,"\n";
  }
  while($teste < 3);
?>
Saída
0
1
2

A linguagem de programação PHP fornece os comandos de parada break e continue. Nesta parte do tutorial vamos aprender esses comandos.

Para parar ou "quebrar" a execução de uma repetição dos comandos for, while e do while, a linguagem PHP fornece o comando break:

Sintaxe
break;

Quando a linha de código contendo break é executada, o fluxo de execução do comando de repetição é parado o fluxo de execução continua após o fim do bloco de comando.

Exemplo 7
<?php
  for($teste = 0; $teste < 6 ; $teste++){
    if($teste == 3)
      break;
    echo $teste, "\n";
  }
?>
Saída
0
1
2

O comando break só pode ser utilizado dentro dos comandos de repetição for, while, do-while e switch.

Para pularmos a execução de apenas um laço/loop dos comandos de repetição for, while, do-while, a linguagem PHP fornece o comando continue:

Sintaxe
continue;

Quando a linha de código contendo continue é executada, o fluxo de execução do laço atual é parada e o fluxo é desviado para o início do próximo laço do comando onde está sendo usado.

Exemplo 8
<?php
  $teste = 0;
  while($teste <= 10)
  {
    if($teste %2 == 0)
    {
      echo $teste,"\n";
      $teste++;
      continue;
    }
    $teste++;
  }
?>
Saída
0
2
4
6
8
10

O comando continue deve ser usado dentro dos comandos for, while e do-while.

  1. 21/08/2025 - revisão 3 - Ajustes: pontuais, sintaxes e target de links internos
  2. 21/09/2024 - revisão 2 - correção em links portugol; ajustes pontuais
  3. 05/02/2024 - revisão 1 - correção em navegação e erros gramaticais
  4. 20/09/2023 - versão inicial