Estruturas

Índice da página:

If

Comandos lógicos são usados para testar condições Boolean. Para tal apresentamos a tabela básica destes comandos.

Operadores Lógicos
E  and ou &&
OU  or ou ||
Negado  not ou !
<, <=  Menor, Menor ou Igual
>, >=  Maior, Maior ou Igual
==, !=  Igual, Diferente

A estrutura if pode ser conjugada com elseif e else, apresentando a seguinte sintaxe básica:

if (condição) {acção;}

<?php
   echo '<onload="NumText.Num.focus()">';
   echo '<form action="exe008.php" method="get" name="NumText">';
   echo 'Escreva um Número:<input type="text" name="Num" size="6"> ';
   echo '<input type="submit" value="Aceitar"></form>';
   if($Num <100 && $Num != ""){ 
        echo "Seu Número é inferior a 100 <br>";}
   elseif($Num >=100 && $Num <200 && $Num != ""){
        echo "Seu Número é inferior a 200<br>";}
   elseif($Num >=200 && $Num != ""){
        echo "Seu Número é superior a 200<br>";}
   if($Num!=""){
        echo "Seu Número é = $Num";}
?>
Ver Índice

Switch

Este comando é usado para detectar múltiplos resultados possíveis do valor de uma expressão.
A sua sintaxe é:

switch(expressão) {
case valor:
acção; break;
....
default:
acção;}

No exemplo em baixo escolhemos Três opções de selecção de Idioma.
<?php
   echo "Seleccione uma das Opções:<br>";
   echo '<form action="exe009.php" method="get">';
   echo '<input type="radio" name="lingua" value="pt">Português<br>';
   echo '<input type="radio" name="lingua" value="it">Italiano<br>';
   echo '<input type="radio" name="lingua" value="es">Espanhol ';
   echo '<input type="submit" value="Submeter">';
   echo '</form><br>';
switch($lingua){
   case"pt":
      echo "Escolheu Português";break;
   case"it":
      echo "Escolheu Italiano";break;
   case"es":
      echo "Escolheu Espanhol";break;
   default:
      echo "Escolha Um Idioma!";}
?>
Ver Índice

For

Loops ou contadores são processados com as expressões for, foreach, while, do...while. A expressão foreach é normalmente usado em Arrays portanto veremos a sua aplicação nesse capítulo.
No loop for todas as expressões são contidas na primeira linha. A sua sintaxe é:

for (expressão1; expressão2; expressão3) { Acção}

Na generalidade a primeira expressão indica o início do contador, a segunda a condição e a terceira a acção do contador.
No caso de um contador entenso, por exemplo de busca, se a condição fôr encontrada e desejamos sair do loop, usamos a expressão break.
No exemplo seguinte iremos processar um contador de números pares.
Repare que o incremento do contador é feito por ++ na realidade ++$n é igual a $n=$n+1

<?php
echo "Contador For<br>";
echo "Gerador Números Pares:<br>";
   for ($n=1; $n<=20; ++$n){
      $cont=($n%2);
      if ($cont == 0){
         echo $n." ";}}
?>
Ver Índice

While

É um simples loop que repete e executa um comando enquanto a condição fôr verdadeira.
A sua sintaxe é:

while (condição) {acção}

O exemplo que apresentamos é um gerador de números impares.

<?php
echo "Contador While<br>";
echo "Gerador Números Impares:<br>";
   $n=0;
   while (++$n <=20){
      $cont=($n%2);
      if ($cont != 0){
         echo $n." ";}}
?>
Ver Índice

Do While

A diferença deste loop está na condição do loop vir no fim do mesmo, deste modo o loop será sempre efectuado pelo menos uma vez.
A sua sintaxe é:

do {acção} while(condição);

O exemplo apresentado consta de um texto onde iremos através do loop fazer uma busca com o texto de entrada do utilizador.

<?php
echo '<body onload="NumText.Num.focus()">';
echo '<form action="exe012.php" method="get" name="NumText">';
echo 'Escreva Busca:<input type="text" name="Num" size="6"> ';
echo '<input type="submit" value="Aceitar"></form>';
   $nome="Luis Carlos Azevedo";
   $busc=strtolower($Num);
   $lenbusc=strlen($busc);
   $m=0;
   $n=strlen($nome)-$lenbusc;
   do {
      $cont=strtolower(substr($nome,$m,$lenbusc));
      if ($cont == $busc){
         echo "Texto = ".substr($nome,0,$m).'<font color="black" style="background-color:#FF9900">
         <b>'.substr($nome,$m,$lenbusc).'</b></font>'.substr($nome,$m+$lenbusc);break;}}
   while (++$m <= $n);
?>
Ver Índice

Sintaxe Alternativa

Existe um modo alternativo para os Loops funcionarem sem blocos. Para isso no fim da condição em vez de { coloque : feche o script php, coloque o código Html, abra de novo o script php e termine a acção com a expressão end+nomeloop . De certeza que irá encontrar em programações mais avançadas a utilidade desta aplicação.
No exemplo aplicamos um contador for para construção de 5 Caixas de Texto.

<?php
   for ($n=1; $n<=5; ++$n):
?>
   <tr><td>Teste <?php echo $n;?><input type="text" size="10"></td></tr><br>
<?php
   endfor;
?>
Ver Índice