Página Inicial > PHP > Estruturas de Repetição e Controle em PHP

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";
}
?>
  1. Nenhum comentário ainda.
  1. Nenhum trackback ainda.