Estruturas de Repetição e Controle em PHP

Olá, nesse artigo vou demonstrar os tipos de estruturas de controle e repetição que existem no PHP e comandos que se atrelem a esses importantes recursos de programação.

Estruturas de controle.

if/else.

A estrutura if / else, como na maioria das linguagens, é a mais utilizada, e no PHP não seria diferente.

Exemplo 1.1 – if/else.

<?php
if ($var1 > $var2) {
	echo "var1 é  maior que var2";
}
else {
	echo "var1 NÃO  é maior que var2";
}
?>

Nesse exemplo, SE a variável $var1 for maior do que a variável $var2, será impresso na tela “var1 é maior que var2”, SENÃO será impresso “var1 NÃO é maior que var2”.

O primeiro exemplo poderia ser reescrito de uma maneira alternativa como mostra o trecho abaixo.

Exemplo 1.2 – if/else alternativo.

<?php
if ($variavel == 1):{
	echo “variável = 1”;
elseif ($variavel == 4):
	echo “variável = 4”;
elseif ($variavel == ‘rodrigo’):
	echo “variável =rodrigo”;
else:
	$variavel == “erro!”;
endif
?>

No exemplo acima estamos utilizando uma maneira alternativa de escrita da estrutura. Nesse caso SE a variável $variavel for igual a ‘1’, será impresso “variável = 1”, SENÂO SE $variavel for igual a 4 então será impresso “variável = 4”, SENÂO SE $variavel for igual a ‘rodrigo’ então será o script terá como saída o texto ‘rodrigo’, SENÃO caso nenhuma dessas condições forem VERDADEIRAS (TRUE) será impresso na tela ‘erro!’.

Switch.

A estrutura de controle switch se comporta da mesma maneira de varios IFs seguidos. Muitas vezes o programador se depara tendo que comparar a mesma variável com alguns valores diferentes, e é ai entra a estrutura switch. Vou utilizar o exemplo 1.2 acima para demonstrar como é feita a implementação do switch case, como também é conhecido.

Exemplo 2.1 – Switch

<?php
switch($variavel){
	case 1:
		echo “variável =  0!!”;
   	break;
   case 4:
   	echo “variável =  4!!”;
       break;
	case ‘rodrigo’:
       echo “variável =  rodrigo!!”;
       break;
}
?>

Nesse caso a variável será testada com os valores 1, 4 e ‘rodrigo’, como não foi colocado um default, CASO nenhuma das condições forem verdadeiras o script não terá nenhum retorno. Vamos ver um exemplo com default.

Exemplo 2.2 – Switch e o comando defult

<?php
switch($variavel){
	case 1:
       echo “variável =  0!!”;
       break;
   case 4:
       echo “variável =  4!!”;
       break;
   case ‘rodrigo’:
       echo “variável =  rodrigo!!”;
       break;
   default:
       echo “A variável  não é igual a 0, 4 ou Rodrigo!!”
}
?>

Nesse caso, mesmo todos as condições sendo false o script ira executar o trecho de código que está no default.

Estruturas de repetição.

While e suas variações.

A estrutura While são as mais simples estruturas de repetição. Seu comportamento é idêntico aos seus parentes em C, por exemplo. Sua sitaxe padrão é:

while (expressao) instruções

Essa instrução é executada ENQUANTO a expressão de controle for true, e esse teste é feito no começo do Loop, assim sendo, se o resultado da primeira verificação for false, as instruções não sao executadas nem uma vez.

Exemplo 3.1 – While.

<?php
$i = 1;
while ($i <= 10) {
	echo $i++;
}
?>

Esse script imprimi na tela os números de 0 à 10. Quando a variável $i alcança o valor ‘11’, ao ser testada vai ser constatado que ela NÃO é MENOR nem IGUAL a 10 por tanto retorna false, não executando o código dentro do loop.

Exemplo 3.2 – While alternativo.

<?php
$i = 1;
while ($i <= 10):
	echo $i;
	$i++;
endwhile;
?>

Uma forma alternativa que faz a mesma coisa que o exemplo anterior.

Do … While.

A estrutura do…while é quase idêntica que a while com a diferença que o teste da variável é feita no final da estrutura , ou seja, o código é executado pelo menos uma vez.

Exemplo 3.1 – Do … While.

<?php
$i = 0;
do {
	echo $i;
} while ($i > 0);
?>

Nesse caso a variável $i seria impressa ao menos uma vez mesmo que o resultado da verificação seja false e não volta a executar o código.

Exemplo 3.2 – Do … While / Break.

<?php
do {
	if ($i > 10) {
		echo "i  é maior que 10";
	}
} while ($i > 10);
?>

No exemplo acima, temos a mesma estrutura que no exemplo anterior só que há um teste na variável de controle de repetição, e SE o resultado do mesmo for true será impresso a mensagem “i é maior que 10” ENQUANTO i for maior que 10, conforme a condição do laço de repetição.

FOR.

o for é a estrutura de repetição mais complexa que existe no PHP, como em quase todas as linguagens de programação. Sua sintaxe é:

for (expr1; expr2; expr3) instruções

A primeira instrução é executada incondicionalmente no começo do loop. A segunda é executada e se retornar true os comandos são executados, caso seja false o loop para sua execução. No final de cada loop, a terceira expressão é executada e são refeitos os testes anteriores.

Exemplo 4.1 – For

<?php
for ($i = 0; $i <= 100; $i++) {
	echo $i;
}
?>

Esse script imprime números de 0 até 100, de acordo com a segunda expressão do for.

Traduzindo: PARA i igual a zero, i maior ou igual a 100, incremente o i (some 1) e faça.

Cada uma das três expressões do for pode ser vazia, por exemplo, caso a segunda expressão for vazia, significa que o loop pode rodar infinitamente. Essa técnica é útil quando se utiliza o comando break para se interromper a repetição do bloco.

Exemplo 4.1 – For

<?php
for  ($i = 0; ; $i++) {
	if ($i > 10) {
	break;
  }
  echo $i;
}
?>

Comando break .

O comando break que utilizei nos exemplo, INTERROMPE a execução de estruturas como o for, while, do…while e switch.

Esse comando aceita um valor numérico como parâmetro onde podemos definir o nível que queremos interromper a execução. Exemplo.

<?php
$i = 0;
while ($i< 25) {
    switch ($i) {
        case 5:
            echo "I  = 5";
            break 1;  /* Sai somente do switch. */
        case 10:
            echo "No  10; saindo<br />\n";
            break 2;  /*  Sai do switch e while. */
        default:
            break;
    }
}
?>

Comando Continue.

O comando continue PULA o loop atual para recomeçar a execução da próxima estruturas como o for, while, do…while e switch.

Esse comando aceita um valor numérico como parâmetro onde podemos definir o nível de loops ele saltará até o fim. Exemplo.

<?php
$i = 0;
while ($i++ < 5) {
   echo "Primeiro\n";
   while (1){
       echo "Segundo\n";
       while (1){
           echo "Terceiro\n";
           continue 3;
       }
       echo "Isto NUNCA será exibido.\n";
   }
   echo "Isso tambem NÃO será exibido.\n";
}
?>

3 Respostas

  1. Vinicius

    Muito bom o Artigo, bem explicado, pra quem está começando esse artigo é um prato cheio.

    Abraço!

      (Citar)

  2. Márcio Henrique Muzy Freitas

    poxa,achei esse blog muito bacana,além para min que tenho prova de algoritmo hoje na faculdade ai esse blog ele já dá uma noção de como é esse processo.

      (Citar)

  3. josé carlos

    Muito bom!Tirei um bom proveito!

      (Citar)

Deixe uma resposta

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

Home Programação PHP Estruturas de Repetição e Controle em PHP