Nos capítulos seguintes, você aprenderá como repetir código usando loops em PHP.
Muitas vezes, quando você escreve código, deseja que o mesmo bloco de código seja executado repetidamente um determinado número de vezes. Assim, em vez de adicionar várias linhas de código quase iguais em um script, podemos usar loops.
Os loops são usados para executar o mesmo bloco de código repetidamente, desde que uma determinada condição seja verdadeira.
Em PHP, temos os seguintes tipos de loop:
while
- percorre um bloco de código enquanto a condição especificada for verdadeirado...while
- percorre um bloco de código uma vez e, em seguida, repete o loop enquanto a condição especificada for verdadeirafor
- percorre um bloco de código um número especificado de vezesforeach
- percorre um bloco de código para cada elemento em uma matrizO whileloop
- Percorre um bloco de código enquanto a condição especificada for verdadeira.
O exemplo abaixo exibe os números de 1 a 5:
$x = 1;
while($x <= 5) {
echo "The number is: $x <br>";
$x++;
}
?>
Este exemplo conta até 100 por dezenas:
$x = 0;
while($x <= 100) {
echo "The number is: $x <br>";
$x+=10;
}
?>
O do...while
loop sempre executará o bloco de código uma vez, verificará a condição e repetirá o loop enquanto a condição especificada for verdadeira.
O exemplo abaixo primeiro define uma variável $x para 1 ($x = 1). Então, o loop do while escreverá alguma saída, e então incrementará a variável $x com 1. Então a condição é verificada ($x é menor ou igual a 5?), e o loop continuará sendo executado enquanto $x é menor ou igual a 5:
$x = 1;
do {
echo "The number is: $x <br>";
$x++;
} while ($x <= 5);
?>
do...while
loop, a condição é testada APÓS a execução das instruções dentro do loop. Isso significa que o do...whileloop executará suas instruções pelo menos uma vez, mesmo que a condição seja falsa. Veja exemplo abaixo.
Este exemplo define a variável $x como 6, depois executa o loop e a condição é verificada:
<?php
$x = 6;
do {
echo "The number is: $x <br>";
$x++;
} while ($x <= 5);
?>
O for
loop é usado quando você sabe com antecedência quantas vezes o script deve ser executado.
Parâmetros:
O exemplo abaixo exibe os números de 0 a 10:
<?php
for ($x = 0; $x <= 10; $x++) {
echo "The number is: $x <br>";
}
?>
Este exemplo conta até 100 por dezenas:
<?php
for ($x = 0; $x <= 100; $x+=10) {
echo "The number is: $x <br>";
}
?>
O foreach
loop funciona apenas em arrays e é usado para percorrer cada par chave/valor em um array.
Para cada iteração do loop, o valor do elemento atual do array é atribuído a $value e o ponteiro do array é movido por um, até atingir o último elemento do array.
O exemplo a seguir produzirá os valores do array fornecido ($colors):
<?php
$colors = array("red", "green", "blue", "yellow");
foreach ($colors as $value) {
echo "$value <br>";
}
?>
O exemplo a seguir produzirá as chaves e os valores da matriz fornecida ($age):
<?php
$age = array("Peter"=>"35", "Ben"=>"37", "Joe"=>"43");
foreach($age as $x => $val) {
echo "$x = $val<br>";
}
?>
Você já viu a break
instrução usada em um capítulo anterior deste tutorial. Foi usado para "saltar" de uma switch
declaração.
A break
instrução também pode ser usada para sair de um loop.
Este exemplo salta do loop quando x é igual a 4 :
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
break;
}
echo "The number is: $x <br>";
}
?>
continue
instrução interrompe uma iteração (no loop), se ocorrer uma condição especificada, e continua com a próxima iteração no loop.
Este exemplo ignora o valor de 4:
<?php
for ($x = 0; $x < 10; $x++) {
if ($x == 4) {
continue;
}
echo "The number is: $x <br>";
}
?>
Você também pode usar break
e continue
em while
loops:
<?php
$x = 0;
while($x < 10) {
if ($x == 4) {
break;
}
echo "The number is: $x <br>";
$x++;
}
?>
$x = 0;
while($x < 10) {
if ($x == 4) {
$x++;
continue;
}
echo "The number is: $x <br>";
$x++;
}
?>