PHP - Tipos de Loop
Os loops em PHP são usados para executar o mesmo bloco de código um determinado número de vezes. PHP suporta os seguintes quatro tipos de loop.
for - percorre um bloco de código um determinado número de vezes.
while - faz um loop em um bloco de código se e enquanto uma condição especificada for verdadeira.
do...while - faz um loop em um bloco de código uma vez e, em seguida, repete o loop enquanto uma condição especial for verdadeira.
foreach - percorre um bloco de código para cada elemento em uma matriz.
Vamos discutir sobre continue e break palavras-chave usadas para controlar a execução dos loops.
A instrução de loop for
A instrução for é usada quando você sabe quantas vezes deseja executar uma instrução ou um bloco de instruções.
Sintaxe
for (initialization; condition; increment){
code to be executed;
}
O inicializador é usado para definir o valor inicial para o contador do número de iterações do loop. Uma variável pode ser declarada aqui para este propósito e é tradicional chamá-la de $ i.
Exemplo
O exemplo a seguir faz cinco iterações e altera o valor atribuído de duas variáveis em cada passagem do loop -
<html>
<body>
<?php
$a = 0;
$b = 0;
for( $i = 0; $i<5; $i++ ) {
$a += 10;
$b += 5;
}
echo ("At the end of the loop a = $a and b = $b" );
?>
</body>
</html>
Isso produzirá o seguinte resultado -
At the end of the loop a = 50 and b = 25
A instrução do loop while
A instrução while executará um bloco de código se e enquanto uma expressão de teste for verdadeira.
Se a expressão de teste for verdadeira, o bloco de código será executado. Após a execução do código, a expressão de teste será avaliada novamente e o loop continuará até que a expressão de teste seja considerada falsa.
Sintaxe
while (condition) {
code to be executed;
}
Exemplo
Este exemplo diminui um valor de variável em cada iteração do loop e o contador aumenta até atingir 10, quando a avaliação é falsa e o loop termina.
<html>
<body>
<?php
$i = 0;
$num = 50;
while( $i < 10) {
$num--;
$i++;
}
echo ("Loop stopped at i = $i and num = $num" );
?>
</body>
</html>
Isso produzirá o seguinte resultado -
Loop stopped at i = 10 and num = 40
A instrução do ... while loop
A instrução do ... while executará um bloco de código pelo menos uma vez - em seguida, repetirá o loop enquanto a condição for verdadeira.
Sintaxe
do {
code to be executed;
}
while (condition);
Exemplo
O exemplo a seguir incrementará o valor de i pelo menos uma vez e continuará incrementando a variável i, contanto que ela tenha um valor inferior a 10 -
<html>
<body>
<?php
$i = 0;
$num = 0;
do {
$i++;
}
while( $i < 10 );
echo ("Loop stopped at i = $i" );
?>
</body>
</html>
Isso produzirá o seguinte resultado -
Loop stopped at i = 10
A instrução de loop foreach
A instrução foreach é usada para percorrer arrays. Para cada passagem, o valor do elemento atual da matriz é atribuído a $ value e o ponteiro da matriz é movido por um e na próxima passagem o próximo elemento será processado.
Sintaxe
foreach (array as value) {
code to be executed;
}
Exemplo
Experimente o exemplo a seguir para listar os valores de uma matriz.
<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value ) {
echo "Value is $value <br />";
}
?>
</body>
</html>
Isso produzirá o seguinte resultado -
Value is 1
Value is 2
Value is 3
Value is 4
Value is 5
A declaração de pausa
O PHP break palavra-chave é usada para terminar a execução de um loop prematuramente.
o breakinstrução está situada dentro do bloco de instrução. Dá a você controle total e sempre que quiser sair do loop, você pode sair. Depois de sair de um loop, uma instrução imediata para o loop será executada.
Exemplo
No exemplo a seguir, o teste de condição torna-se verdadeiro quando o valor do contador atinge 3 e o loop termina.
<html>
<body>
<?php
$i = 0;
while( $i < 10) {
$i++;
if( $i == 3 )break;
}
echo ("Loop stopped at i = $i" );
?>
</body>
</html>
Isso produzirá o seguinte resultado -
Loop stopped at i = 3
A declaração continue
O PHP continue palavra-chave é usada para parar a iteração atual de um loop, mas não termina o loop.
Assim como o break declaração o continueinstrução está situada dentro do bloco de instrução que contém o código que o loop executa, precedido por um teste condicional. Para o encontro do passecontinue , o resto do código do loop é ignorado e a próxima passagem começa.
Exemplo
No exemplo a seguir, o loop imprime o valor de array, mas para a qual a condição se torna verdadeira, ele simplesmente pula o código e o próximo valor é impresso.
<html>
<body>
<?php
$array = array( 1, 2, 3, 4, 5);
foreach( $array as $value ) {
if( $value == 3 )continue;
echo "Value is $value <br />";
}
?>
</body>
</html>
Isso produzirá o seguinte resultado -
Value is 1
Value is 2
Value is 4
Value is 5