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!

Dúvidas, sugestões ou comentários?

Respostas de 2

  1. 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!

Deixe um comentário

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.