Logo Tutorial PHP Básico

Loops no PHP

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?