Estruturas de controle – parte II – controle iterativo
Com o controlador iterativo pode-se executar o mesmo trecho de código múltiplas vezes. PHP tem quatro destes, apesar de apenas dois deles são necessários para o funcionamento
de uma língua.
Os mais simples controladores iterativos são o while e o do … while eles permitem repetir uma série de operações até que avalia a condição verdadeira (TRUE):
$i = 0;
while ($i < 10) {
echo $i . PHP_EOL;
$i++;
}
$i = 0;
do {
echo $i . PHP_EOL;
$i++;
} while ($i < 10);
Como você pode ver, existem dois tipos de loops que são muito similares, a única diferença significante está em quando a condição é verificada para determinar se o código dentro do
controle deverá ser executado ou não. No while, a verificação é realizada a cada tempo de execução isto significa que, se a condição nunca for verdadeira, o código dentro do laço nunca será executado. Já no do … while, o controle é realizado no final de cada iteração significado que, mesmo que a condição de nunca for verdadeira (true), o conteúdo do loop será executado pelo menos uma vez.
O for e o foreach são mecanismos de looping especiais, eles podem ser usados essencialmente para encapsula um while por um período de tempo:
for ($i = 0; $i < 10;$i++) {
echo $i . PHP_EOL;
}
Como você pode ver, a declaração for contém três partes, separadas por ponto e virgula (;).
O primeiro contém uma instrução (de uma série de instruções separadas por um ponto e vírgula) que será executada uma vez antes do ciclo já começado. A segunda contém uma condição que é verificada no início de cada iteração do ciclo, e uma terceira instrução (ou, mais uma vez, um conjunto de instruções separados por vírgula) que é executado ao final de cada iteração. Portanto, o código acima seria equivalente a escrever o seguinte:
$i = 0;
while ($i < 10) {
echo $i . PHP_EOL;
$i++;
}
OBS: A constante PHP_EOL representa o marcador de fim de uma linha para o seu sistema em funcionamento atual.
Com os contrutores for e foreach, poderíamos percorrer um loop através de um array.
Veremos isso mais adiante.

