Laço
Em ciência da computação, um laço é uma estrutura de programação que repete uma sequência de instruções até que uma condição específica seja atendida. Os programadores usam laços para percorrer valores, somar números, repetir funções e muitas outras coisas.
Todos os linguagens de programação modernas oferecem suporte a laços, embora suas implementações e sintaxes possam ser diferentes. Dois dos tipos mais comuns de laços são o laço while e o laço for.
Laço while
Um laço while é a forma mais simples de laço de programação. Ele determina que, enquanto uma condição for válida, o laço deve continuar. No exemplo abaixo em PHP, o laço while continuará até que i seja igual a num.
$i = 1;
$num = 21;
while ($i < $num) // stop when $i equals $num
{
echo "$i, ";
$i++; // increment $i
}
Se $i for 1 e $num for 21, o laço exibirá 1, 2, 3, 4… etc., até 20. Então, o laço será interrompido ou fará um "break" depois de 20 iterações, porque a condição do while terá sido atendida.
Laço for
Um laço for é semelhante a um laço while, mas simplifica o código-fonte. A instrução do laço for define os pontos inicial e final, além do incremento de cada iteração. Abaixo está o mesmo laço acima definido como um laço while.
$num = 21;
for ($i = 1; $i < $num; $i++) // stop when $i equals $num
{
echo "$i, ";
}
Embora os laços for e while possam muitas vezes ser usados de forma intercambiável, geralmente faz mais sentido usar um em vez do outro. Na maioria dos casos, os laços for são preferidos porque são mais simples e fáceis de ler. No entanto, em algumas situações, uma instrução while pode ser mais eficiente. Por exemplo, a instrução PHP a seguir pode ser usada para carregar todos os valores de um resultado do MySQL em um vetor usando apenas uma linha de código.
while ($row = mysql_fetch_array($result))
NOTE: Como os laços se repetem até que uma determinada condição seja atendida, é importante garantir que o laço seja interrompido em algum momento. Se a condição nunca for atendida, o laço continuará indefinidamente, criando um laço infinito. Escrever código que permite laços infinitos é uma prática de programação inadequada, pois eles podem fazer os programas travarem.
Teste seus conhecimentos