PHP - Estrutura de Repetição


Dando seguimento ao assunto de PHP, hoje iremos falar de estruturas de repetição. A utilização de uma estrutura de repetição se da quando há a necessidade de fazer repetições de um determinado algoritmo. Por exemplo: o algoritmo de fatorial há a necessidade de ser executado varias vezes consecutivas para a o calculo da multiplicação seguinte.

O fatorial funciona da seguinte forma:
Utilizando o 5 como exemplo teremos o seguinte calculo: 5*4*3*2*1 = 120
Como podemos ver à necessidade de a multiplicação com os algarismos anteriores para que possamos ter o resultado. E por conta disso em um algoritmo devemos utilizar uma forma para que haja a mesma execução seguidas vezes, nesse caso apenas alterando o algoritmo da multiplicação.

O PHP possui 3 estruturas de repetição. São elas: WHILE, DO WHILEFOR e o FOREACH.

Para algumas dessas estruturas iremos utilizar algumas expressões condicionais vistas anteriormente em estruturas de decisão.
Vamos iniciar falando sobre o WHILE, em tradução direta é ENQUANTO, ele logo de inicio pede uma condição para que a repetição possa começar, caso essa condição logo de inicio já esteja satisfeitas ele não irá entrar no WHILE e seu algoritmo seguirá normalmente.
Como de costume irei da um exemplo da estrutura como ela funciona e como ela se escreve em PHP.
Exemplo:
$x = 0;
ENQUANTO($x < 10)FAÇA{
   escreva"$x,";
   $x = $x+1; 
}
Resultado: 0,1,2,3,4,5,6,7,8,9,

$x = 0;
while($x<10){
echo"$x,";
   $x = $x+1; 
}
Resultado: 0,1,2,3,4,5,6,7,8,9,
Lembrando apenas que para toda estrutura de repetição à necessidade de que você incremente a variável a qual esta usando para que a estrutura de repetição não entre em LOOP INFINITO, no caso desse pequeno exemplo estou incrementando 1 a 1 até que ele seja ao valor da minha condição de repetição.

Bem parecido com o WHILE existe o DO WHILE que muda apenas um aspecto em relação ao WHILE que ele não começa com uma condição para entre na repetição, ele executa pelo menos uma vez o algoritmo para depois fazer a pergunta da condicional, após essa pergunta que se saberá se ele irá entrar no LOOP ou não. A estrutura do DO WHILE é a seguinte:
$x = 10;
FAÇA{
   escreva"$x,";
   $x = $x+1; 
}ENQUANTO($x < 10);

Resultado: 0,1,2,3,4,5,6,7,8,9,

$x = 0;
do{
   echo"$x,";
   $x = $x+1; 
}while($x < 10);

Resultado: 0,1,2,3,4,5,6,7,8,9,
A única diferença do WHILE é a primeira execução.

O FOR é semelhante ao WHILE, todos os dois podem ser utilizados nos mesmos algoritmos o que difere os dois o WHILE você tem que fazer a incrementação da variável de controle dentro do LOOP, já o FOR você pode está fazendo a incrementação dentro da declaração da estrutura.
Exemplo:
para($x = 0; enquanto ($x < 10); incremente $x = $x+1){
     escreva"$x,";
}

Resultado: 0,1,2,3,4,5,6,7,8,9,

for($x = 0; $x < 10; $x = $x+1){
    echo"$x,";
}

Resultado: 0,1,2,3,4,5,6,7,8,9,

Diferentemente da linguagem C, no PHP você pode esta fazendo a declaração da variável dentro do FOR como é o caso desse exemplo, você faz a declaração dela e passa o valor, logo em seguida passa uma condição para que o FOR entre no LOOP e em seguida incremente para que não entre em LOOP INFINITO.

E para finalizar iremos falar agora sobre o FOREACH, estarei falando brevemente sobre ele e dando um exemplo. O assunto sobre FOREACH é um pouco extenso e para poder abordar mais sobre o assunto terei primeiro que falar sobre ARRAY onde o FOREACH é utilizado exclusivamente, então como o assunto ainda não foi abordado estarei falando apenas por cima, não entrarei muito no assunto, voltando a após a publicação sobre ARRAY.
Um ARRAY é uma variável que tem capacidade de armazenar mais de 1 valor e o FOREACH ajuda na manipulação desse ARRAY.
Exemplo:
$arr = array(1, 2, 3, 4);
foreach ($arr as &$value) {
        $value = $value * 2;
}
for ($i=0; $i < 4 ; $i++) { 
    echo "$arr[$i] ";
}
Resultado: 2 4 6 8
O que estou fazendo é declarando um variável que irá receber um array, no FOREACH eu passo esse ARRAY e para fazer a manipulação dele eu estou criando uma variável e na mesma eu passo o endereço da posição ao qual o valor de $arr está armazenado. Após isso eu posso manipular valor por valor a fim de fazer um tratamento especifico a cada um deles com a variável $value. Nesse caso estou multiplicando cada valor por 2 e como passo o endereço todos os valores que estavam em $arr passam a ter seus valores iniciais multiplicados por 2, e logo após eu utilizo o FOR para a impressão dos valores armazenados em $arr.

E aqui finalizamos a parte de Estrutura de Repetição. Todos os códigos PHP postados aqui, vocês podem coloca-los no WampServer e está executando para ver como será o retorno dos resultados. Continuem ligados no TURIMLAB para mais posts sobre PHP e tudo sobre tecnologia.

Dicas, sugestões e dúvidas podem colocar nos comentários!

0 comentários:

Postar um comentário