Sie sind auf Seite 1von 9

Expresso if e loops ftp://ftpaluno.umc.br/Profs_UMCTec/Eduardo_Chagas/apostilas/Apostila%20PHP.

pdf

Estruturas de controle
Utilizamos estruturas para executar determinados blocos de comandos quando necessrio, possibilitando a reutilizao do cdigo. Existem 3 tipos de estruturas: Estruturas de Deciso: Utilizadas pelo programa para possibilitar a execuo de determinado bloco de comandos caso uma condio seja satisfeita. Desta forma, o programa executa tarefas baseado em condies pr-estabelecidas. Ex: Escrever uma mensagem na tela, caso um valor seja par e outra mensagem caso seja mpar. Estruturas de Repetio: Possibilitam a execuo de um determinado bloco de comandos um determinado numero de vezes pr-determinada. Isto evita que o mesmo bloco de comandos seja reescrito diversas vezes, facilitando a compreenso do cdigo. Estruturas de deciso podem ser combinadas estrutura de repetio para tornar a execuo mais dinmica. Funes: Blocos de comandos e estruturas podem ser colocadas dentro de funes e chamadas pelo programa principal quando necessrias, tornando o programa principal mais rpido, limpo e organizado. Facilita a posterior manuteno. Cada funo deve possuir um nome nico, que segue as mesmas regras de um nome de variveis. Vamos agora conhecer as estruturas que podemos utilizar no PHP:

Estrutura if
A estrutura if (do ingls: se) executa um determinado bloco, caso uma condio seja verdadeira. A sua sintaxe :
<?php if(condio){ comandos; } ?>

A utilizao dos delimitadores { e } obrigatria, exceto se o bloco tiver apenas uma linha de cdigo. Podemos colocar as linhas de cdigo que precisarmos dentro da estrutura. Ex:
<?php if($valor1 == 2){ echo Estrutura if<br>; echo valor da varivel 2; } ?>

A estrutura executar os comandos quando o valor da varivel $valor1 for igual a 2.

Existem casos em que precisamos que a estrutura execute um determinado bloco de comandos caso uma condio seja verdadeira e outro caso seja falsa. Para isso existe uma variao da estrutura if chamado de if...else (se...ento).Essa estrutura executa um determinado bloco caso a condio seja verdadeira e outro caso seja falsa.

ELSE
Defina uma varivel (var) com valor igual a 10. Se o valor da varivel for inferior a 20 devera aparecer a mensagem, A condio verifica-se, caso contrario dever aparecer como resultado , A condio no se verifica.

<?php $var = 10; if ($var < 20 ) { echo "A condio verifica-se"; }else { echo "A condio no se verifica"; }?>

Atribua a varivel a o valor 1. Se o valor de a for igual a 5 dever aparecer a mensagem que so igual , caso contrario a mensagem que vai surgir no igual.
<?php $a = 1; if ($a == 5) { echo " igual"; } else { echo "no igual"; } ?>

Dado o seguinte script, diga qual vai ser o resultado?


<?php $a = 1; while ($a < 5) { print $a; $a ++; } ?>

Implemente-o e verifique a sua resposta. Resultado:


1234

Quando seu valor for igual a 5, a comparao retornar FALSE e no mais entrar no WHILE, parando de executar o bloco de comandos.

<? $a = 10; $b = 20; if ($a >= $b) { $media = ($a + $b) / 2; $resto = $a % $b;//calcula o resto da diviso de A por B echo o Valor de A : .$a <br>; echo o Valor de B : .$b <br>; echo o Valor da mdia : .$media <br>; echo O resto da diviso de A por B : .$resto; } ?>

Crie um programa que apresente os nmeros de a 50. O programa deve imprimir todos os nmeros e ao lado dos nmeros deve mostrar se se trata de um nmero par ou impar.
<?php for( $i = 1; $i <= 50; $i++ ){ if ( $i % 2 == 0 ){ echo $i . ' par ' . '<br />' . PHP_EOL; } else { echo $i . ' impar ' . '<br />' . PHP_EOL; } } ?>

Introduza quatro valores, de zero a vinte, para quatro variveis que vo corresponder a notas. De seguida deve obter a mdia dessas notas. Se a mdia for maior ou igual a 9,5 deve aparecer o valor da mdia bem como a dizer que foi aprovado. Caso contrrio deve mostrar o valor e mostra a mensagem de reprovado.

<?php $nota1 = 10; $nota2 = 2; $nota3 = 7; $nota4 = 5; $resultado = ($nota1 + $nota2 + $nota3 + $nota4) / 4; if( $resultado >= 9.5 ){ echo $resultado - o aluno foi aprovado; } else { echo $resultado - o aluno reprovou; } ?>

Ou
<?php

$nota1 = 10; $nota2 = 2; $nota3 = 7; $nota4 = 5; $resultado = ($nota1 + $nota2 + $nota3 + $nota4) / 4; $mensagem = ''; if( $resultado >= 9.5 ){ $mensagem = ' o aluno foi aprovado'; } else { $mensagem = ' o aluno foi reprovado'; } /** * Retornando a mdia */ echo $resultado . $mensagem; ?> <?php /** * Entrada das 4 notas do aluno */ $nota1 = 10; $nota2 = 10; $nota3 = 10; $nota4 = 10; /** * Obtendo a mdia do aluno */ $resultado = ($nota1 + $nota2 + $nota3 + $nota4) / 4; /** * Crio a mensagem */ $mensagem = ''; if ( $resultado >= 7 && $resultado != 10 ) { $mensagem = ' o aluno foi aprovado.'; } elseif ( $resultado == 0 ) { $mensagem = ' estude mais, voc no acertou nada.'; } elseif ( $resultado == 10 ) { $mensagem = ' parabns! Aprovado com nota mxima.'; } else { $mensagem = ' o aluno foi reprovado.'; } /** * Retornando a mdia */ echo $resultado . $mensagem; ?>

http://www.aprenderphp.com.br/artigo/if-else-e-elseif-as-estruturasde-controle-no-php

Como voc pode observar as partes 1 e 2 do problema poderamos resolver facilmente com os operadores aritmticos. Veja o exemplo a seguir:

Estruturas de repetio:

Estrutura while
A estrutura while uma estrutura de repetio. Avalia a expresso e executa o bloco de comandos enquanto a condio for verdadeira. caso a condio retorne falsa, o while deixa de a executar. Sintaxe:
<?php while(expresso){ comandos; } ?>

Devemos ter um cuidado especial a utilizar estruturas de repetio, como while. Temos que ter certeza de que h uma chance da expresso avaliada retornar o valor Falso, do contrrio, ir se tornar um lao infinito, ou seja, no vai parar de executar. Ex:
<?php $cont = 1; while($cont < 10){ echo Valor de \$cont: $cont<br>; $cont++; } ?>

Na estrutura acima, definimos o valor de $cont como sendo 1. O lao while executar o bloco de comandos enquanto o valor de $cont for menor que 10. O bloco do while escrever uma frase comunicando o valor de $cont, depois ir acrescentar 1 ao seu valor. Assim, o valor de $cont ir aumentar at chegar a 10, terminando a execuo do while.

Estrutura do...while
A estrutura do...while semelhante a while, porm, enquanto a estrutura while avalia a condio antes de executar, a estrutura do...while executa o bloco antes de fazer o teste. Ex:
<?php $cont = 1; do{ echo Valor de \$cont: $cont<br>; $cont++; }while($cont < 10) ?>

Estrutura for
A utilizao do for idntica a do while, no entanto, a sintaxe diferente.
<?php for(inicializao;condio;operador){ comandos } ?>

Na inicializao, definimos e inicializamos o contador. Depois, criamos uma condio para o trmino da execuo do for. Em seguida definimos o valor a ser incrementado aps cada execuo. Ex:
<?php for($cont=0;$cont<10;$cont++) { echo Valor da varivel \$cont $cont<br>; } ?>

Defina dentro do for a varivel $cont e atribua-lhe o valor 0. Em seguida, diga ao for para executar o bloco de comandos enquanto o valor de $cont for menor que 10. Por ltimo, cada vez que a estrutura for executada, a varivel $cont receber + 1. Ter que aparecer a mensagem em cada linha O valor da varivel $count at que a condio para o trmino do for seja satisfeita.

<?php for ($i = 1; $i <= 10; $i++) { print $i; } ?>

Resultado:
12345678910

Estrutura foreach
Esta estrutura oferece uma maneira mais simples de percorrer os elementos de um array. Possui duas sintaxes:
<?php foreach($array as $elemento){ comandos; } ?> ou <?php foreach($array as $chave => $valor){ comandos; } ?>

30 PHP e MySQL No primeiro exemplo, a estrutura vai do primeiro ao ltimo elemento do array, ea cada iterao o valor corrente do array atribuido a varivel $elemento, e o ponteiro interno do array avanado. Dessa forma, podemos manipular os valores de $array atravs da varivel $elemento.Ex:
<?php $valor = array(1, 2, 3, 4); foreach($valor as $v){ echo Valor : $v <br>; } ?>

A estrutura foreach atribui a $v o valor da primeira posio de $valor e o imprime na tela. Em seguida, vai segunda posio de $valor, atribui seu contedo a $v e o imprime novamente. Por isso o comando echo mostra o contedo em $v, em vez do contedo em $valor. No caso de um array associativo, teramos:
<?php $lista = array(um=>1, dois=>2, tres=>3, quatro=>4); foreach($a as $chave => $valor){ echo \$a[$chave] => $valor<br>; } ?>

O exemplo acima imprime a chave associativa e o valor de cada posio do array. O resultado ser:

$a[um] => 1 $a[dois] => 2 $a[tres] => 3 $a[quatro] => 4

Comandos break e continue


O comando break utilizado para parar a execuo de um determinado script, bloco ou funo. Ao encontrar o comando break, PHP ir direto ao final do bloco, deixando a estrutura. Ao contrrio, o comando continue faz com que o PHP mantenha a execuo do script. Ex:
<?php for($i=0; $i < 10; $i++){ if($i == 5){ echo \$i == 5! Parou de executar!; break; } echo Executando: Valor de \$i => $i; } ?>

O resultado ser: executando: Valor de $i => 0 executando: Valor de $i => 1 executando: Valor de $i => 2 executando: Valor de $i => 3 executando: Valor de $i => 4 $i == 5! Parou de executar!

Estrutura switch
Essa estrutura executa um determinado bloco de instrues de acordo com o valor obtido pela expresso avaliada. Sua sintaxe :
<?php switch(condicao){ case valor1 : comando1 break; case valor2 : comando2 break; case valorn : comandon break; default: comando_default break; } ?>

Se a condio retornar o valor1, executar o comando1, ento no precisar conferir

as demais condies, podendo deixar a estrutura. Para isso, utiliza-se o comando break entre cada condio. Caso a condio no retorne nenhum dos valores contidos na estrutura, ser executada a opo default. Ex:
<? switch($cor){ case 'vermelho' : echo cor vermelha<br>; break; case 'verde' : echo cor verde<br>; break; case 'azul' : echo cor azul<br>; break; default : echo escolha uma cor<br>; break; } ?>

Caso o valor de $cor seja vermelho, a frase cor vermelha ser escrita na tela, ento o comando break termina a execuo da estrutura, visto que a condio foi satisfeita. Em caso contrrio, far a prxima verificao. Se nenhuma das condies for satisfeita, executar a opo default, escrevendo na tela: escolha uma cor. O uso do default no obrigatrio no switch, nem mesmo o uso de break, visto que a ltima verificao a ser feita.

Das könnte Ihnen auch gefallen