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";
}
?>

Muito bom o Artigo, bem explicado, pra quem está começando esse artigo é um prato cheio.
Abraço!
Vinicius(Citar)
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.
Márcio Henrique Muzy Freitas(Citar)
Muito bom!Tirei um bom proveito!
josé carlos(Citar)