Controlo do fluxo em PHP: Loops I

Os computadores, como qualquer máquina, estão desenhados para realizar tarefas repetitivas. É por isso que os nossos programas se podem aproveitar desse princípio para realizar uma determinada sequência de instruções um certo numero de vezes. Para isso utilizamos as estruturas chamadas em loop que nos ajudam a, usando poucas linhas, realizar uma tarefa incluída dentro dum loop um certo número de vezes definido por nós mesmos.

PHP propõe vários tipos de loops, cada um com umas características especificas:

Loop While

Sem dúvida o loop mais utilizado e mais simples. Usamo-lo para executar as instruções contidas no seu interior sempre que a condição definida seja verdadeira. A estrutura sintáctica é a seguinte:

while (condição)
{
instrução1;
instrução2;

}

Um exemplo simples é este loop que aumenta o tamanho da fonte numa unidade em cada passagem:

<?
$size=1;
While ($size<=6)
{
echo”<font size=$size>Tamanho $size</font><br>n”;
$size++;
}
?>

Como explicação, diremos que, antes de mais, temos de definir o valor da variável que vamos avaliar na condição. Algo absolutamente óbvio mas fácil de esquecer. Neste caso atribuímos-lhe o valor 1 que corresponde a letra mais pequena.

O passo seguinte é criar o loop no qual impomos a condição que a variável não exceda o valor 6.

A instrução a executar será imprimir no nosso documento um código HTML em que a etiqueta font e a mensagem que contém variam à medida que $size muda o seu valor.

Seguidamente, devemos incrementar numa unidade o valor de $size. Isto pode-se fazer com uma expressão como a mostrada no loop ($size++) que na realidade é sinónimo de: $size=$size+1

Veremos outras abreviações mais a frente.

Outro exemplo do loop While 

O loop while costuma utilizar-se quando não se sabe exactamente quantas iterações se devem realizar antes de acabar. Utilizamo-lo num outro exemplo, no qual temos de recorrer uma cadeia até encontrar um carácter dado. Se o encontra, escrever a sua posição. Se não, escrever que não se encontrou.

Nota: Para fazer este exercício necessitamos de conhecer a função de cadeia strlen(), que obtém a longitude da cadeia que se passa por parâmetro. int strlen (string cad) Retorna um inteiro igual ao tamanho da cadeia.

<?
$cadeia = “Ola a todo o mundo”;

//recorro a cadeia até encontrar uma “m”
$i=0;
while ($cadeia[$i]!=”m” && $i< strlen($cadeia))
{
$i++;
}

if ($i==strlen($cadeia))
echo “Não se encontra…”;
else
echo “Está na posição $i”;
?>

Neste exemplo define-se uma cadeia com o valor “Ola a todos”. Posteriormente recorre-se essa cadeia até finalizar ou até encontrar o carácter “m”, utilizando uma variável $i que assentando o numero de caracteres recorridos.

No fim do loop while, se saímos do loop é porque se encontrou o carácter “m”, a variável $i terá como valor um número menor que o tamanho da cadeia. Se saiu do loop por chegar ao fim da cadeia, a variável $i terá um valor igual ao do tamanho da cadeia, e por tanto, obtemos que não se achou o carácter passado por parâmetro.

Loop do/while 

Este tipo de loop não difere em excesso do anterior. A sintaxe é a seguinte:

do
{
instrução1;
instrução2;

}
while (condição)

A diferença em relação aos loops while é que este tipo de loop avalia a condição no final, o que quer dizer que, inclusive sendo falsa a condição desde um principio, este executa-se pelo menos uma vez.

Fonte: http://www.criarweb.com/artigos/90.php

Deixe um comentário