Há quatro estruturas de loop em PHP. Estes são usados para executar um bloco de código específico várias vezes. Assim como a condicional if, as chaves para os laços podem ser deixado de fora, se houver apenas uma instrução no bloco de código.
Loop While
O loop while é executado através do bloco de código somente se sua condição for verdadeira, e continuará em loop enquanto a condição permanecer verdadeira. Note que a condição só é verificada no início de cada iteração (loop).
<?php $i = 0; while ($i < 10){ echo $i++; // 0123456789 } ?>
Loop do-while
O loop do-while funciona da mesma forma que o loop while, exceto que ele verifica a condição após o bloco de código. Será, portanto, sempre executado através do bloco de código, pelo menos uma vez. Tenha em mente que este ciclo termina com um ponto e vírgula.
<?php $i = 0; do { echo $i++; }while ($i < 10); // 0123456789 ?>
Loop for
O loop for é usado para passar por um bloco de código um número específico de vezes. Ele usa três parâmetros. O primeiro parâmetro é inicializado um contador e é sempre executada uma só vez, antes do laço. O segundo parâmetro detém a condição para o loop e é verificado antes de cada iteração. O terceiro parâmetro contém o incremento do contador e é executado no final de cada iteração.
<?php for ($i = 0; $i < 10; $i++){ echo $i; } // Resultado: 0123456789 ?>
O laço for tem diversas variações desde qualquer um dos parâmetros podem ser deixados de fora. Por exemplo, se os primeiros e terceiros parâmetros são deixados de fora que se comporta da mesma maneira que o loop.
<?php for (;$i < 10;) { echo $i++; } //Resultado: 123456789 ?>
O primeiro e o terceiro parâmetros também podem ser divididos em várias declarações usando o operador vírgula (,).
<?php for ($i = 0, $x = 9 ; $i < 10 ; $i++, $x--) { echo $x; // 9-0 } ?>
A função sizeof recupera o número de elementos de uma matriz. Juntamente com o loop for, pode ser usado para percorrer uma matriz numérica.
<?php $a = array(1,2,3); for($i = 0; $i < sizeof($a); $i++) { echo $a[$i]; } // Resultado: 123 ?>
Se não há necessidade de manter o controle de iterações do loop foreach fornece uma sintaxe mais limpa. Este ciclo é também necessária para atravessar arrays associativos.
Loop Foreach
O loop foreach oferece uma maneira fácil para percorrer arrays. A cada iteração o próximo elemento na matriz é atribuído a variável especificada (iterador) eo loop continua a executar até que passou por toda a matriz.
<?php $a = array (1,2,3); foreach ($a as $v) { echo $v; // "123" } ?>
Existe uma extensão do loop foreach para obter também o nome ou índice da chave, adicionando uma chave na variável, seguido pelo operador seta dupla (=>) antes do iterador
<?php $a = array ('one' => 1, 'two' => 2, 'three' => 3); foreach ($a as $k => $v) { echo "$k => $v <br>"; } /* Resultado one => 1 two => 2 three => 3 */ ?>
Alternativa de Sintaxe
Tal como acontece com declarações condicionais, os colchetes nas laçadas pode ser reescrita na sintaxe alternativa com dois pontos e um dos endwhile, endfor ou endforeach.
<?php while ($i < 10): echo $i++; endwhile; for ($i = 0; $i < 10; $i++): echo $i; endfor; foreach ($a as $v): echo $v; endforeach; ?>
O principal benefício disso é melhorar a legibilidade, especialmente para laços mais longos.
Break
Há duas palavras-chave especiais que podem ser usados dentro de loops – break e continue. A palavra-chave break termina a execução de uma estrutura de loop.
<?php for (;;) { break; } // endfor ?>
Ele pode ser dado um argumento numérico que especifica quantas estruturas de loop aninhado para fugir.
<?php $i = 0; while ($i++ < 10) { for (;;) { break 2; } // fim do for e volta ao while } ?>
Continue
A palavra-chave continue pode ser usado dentro de qualquer declaração looping para pular o resto do loop atual e continuar no início da próxima iteração.
<?php while ($i++ < 10){ continue; } // Começa a próxima interação ?>
Esta palavra-chave pode aceitar um argumento para quantos loops aninhados ele deve saltar até o fim.
<?php $i = 0; while ($i++ < 10) { for (;;) { continue 2; } // começa a próxima iteração while } ?>
Em contraste com muitas outras linguagens, a instrução continue também se aplica a switche’s, onde ele se comporta do mesmo que break. Portanto, para pular uma iteração de dentro de uma switch use dois continue devem ser utilizados.
<?php $i = 0; while ($i++ < 10) { switch ($i) { case 1: continue 2; // começar na próxima iteração while } } ?>
Ir Para (GoTo)
Uma declaração foi introduzida no PHP 5.3 é Goto, que realiza um salto para um rótulo especificado. Um rótulo é um nome seguido por dois pontos (:).
<?php goto myLabel; // pular para o myLabel myLabel: // declaração de myLabel ?>
O rótulo de destino deve ser dentro do mesmo arquivo de script e escopo. Portanto, goto não pode ser usado para saltar para as estruturas de loop, só fora delas.
<?php loop: while (!$finished) { // ... if ($try_again) goto loop; // recomeçar loop } ?>
Em geral, a instrução goto é recomendável evitar, uma vez que tende a tornar o fluxo de execução difícil de seguir ou entender.
Links de Referência
http://www.php.net/manual/pt_BR/language.control-structures.php
Bom é isso alguns detalhes sobre loops no PHP, lembrando que esse é um pequeno guia de referência para estudos!
Muito bom esses tutoriais de PHP!!! aos poucos eu vou postando algumas coisas da área de TI no meu blog, um dia quem sabe ele fica pronto! kkkkk
Parabéns pelas dicas!
😀 Manda ai o endereço!