Bora ajudar o programador a transformar café em código?

A instrução ELSEIF em PHP

Neste tutorial de PHP, vamos te apresentar a instrução ELSEIF, e veremos o que é, para que serve e onde devemos usar ela em desenvolvimento web.

A Instrução ELSEIF em PHP

Programadores, por natureza, são bichos preguiçosos.

E não, isso não é uma crítica. Bill Gates disse que adora gente preguiçosa, pois eles sempre vão procurar a maneira mais rápida, simples e óbvia de resolver as coisas. E isso é verdade.

No decorrer de seus estudos e trabalhos como desenvolvedor web com PHP, você vai deparar gente fazendo coisas com milhares de linhas de código...enquanto outros vão resolver com algumas dezenas. Claro que, quase sempre, quanto menos melhor.

Falando em preguiça, vamos te apresentar a instrução ELSEIF, que serve para substituir os:
...
else
    if
    ...
    else
        if
        ...
Por
...
elseif
    ...
elseif
        ....
else
        ....

Ou seja, apenas substituímos um bloco de:
ELSE
      IF

Por: ELSEIF

Isso evita que nosso código fique cada vez maior e mais deslocado para a direita.

Exemplo de uso de ELSEIF
Vamos pegar o tutorial anterior, sobre IF e ELSE aninhados.
O último código que fizemos nele foi:
 <?php 
  $idade = $_GET['age'];
  
  if($idade < 16)
   echo "Você ainda não pode votar.";
  else
   if($idade < 18)
    echo "Seu voto é facultativo";
   else
    if($idade<65)
     echo "Seu voto é obrigatório";
    else
     echo "Seu voto é facultativo";
  
 ?>
Veja como fica se substituirmos por ELSEIF
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
  <form action="home.php" method="get">
   Sua idade:  <input type="number" name="age" /><br />
   <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php 
  $idade = $_GET['age'];
  
  if($idade < 16)
   echo "Você ainda não pode votar.";
  elseif($idade < 18)
   echo "Seu voto é facultativo";
  elseif($idade<65)
   echo "Seu voto é obrigatório";
  else
   echo "Seu voto é facultativo";
 ?>
 </body>
</html>
Note que deixamos os IF, ELSEIF e ELSE todos alinhados, bem mais bonitinho e organizado, não acha?

Exemplo de uso de ELSEIF
Crie uma página que pergunta ao usuário que time ele torce, e mostre uma mensagem correspondente:
Corinthians - Vai timão!
Palmeiras - Não tem mundial!
Flamengo - Flamíííídia!
São Paulo - Bambiiii!
Athlético - Hum, Aflético!
Outro - Time pequeno, nem conheço.

Primeiro, faça sem uso do ELSEIF, depois com o uso do ELSEIF.

Sem usar o ELSEIF:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
  <form action=home.php method="get">
   Que time você torce:  <input type="text" name="time" /><br />
   <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php 
  $time = $_GET['time'];
  
  if($time == 'Corinthians')
   echo "Vai Timão!";
  else
   if($time == 'Palmeiras')
    echo "Não tem mundial";
   else
    if($time == 'Flamengo')
     echo "Flamííídia";
    else
     if($time == 'São Paulo')
      echo "Bambiiis";
     else
      if($time == 'Athlético')
       echo "Hum, afléético";
      else
       echo "Time pequeno não conheço";
 ?>
 </body>
</html>
Notem como vai deslocando pra direita...e vai crescendo...fica horrível!
Cara dos outros programadores quando forem dar manutenção ou alterar algo em código assim:
Tutorial de PHP completo

Pessoal, o brasileirão série A tem 20 times. E a série B também.
Imagina você tendo que criar código para 40 times?

Usamos pra 5 e já ficou essa coisa horrenda.
Mas calma, vamos te ensinar o jeito certo de fazer as coisas.

Agora o código com ELSEIF:
<html>
 <head>
  <title>Apostila PHP Progressivo</title>
 </head>
 <body>
  <form action="home.php" method="get">
   Que time você torce:  <input type="text" name="time" /><br />
   <input type="submit" name="submit" value="Testar" />
 </form> 
 <?php 
  $time = $_GET['time'];
  
  if($time == 'Corinthians')
   echo "Vai Timão!";
  elseif($time == 'Palmeiras')
   echo "Não tem mundial";
  elseif($time == 'Flamengo')
   echo "Flamííídia";
  elseif($time == 'São Paulo')
   echo "Bambiiis";
  elseif($time == 'Athlético')
   echo "Hum, afléético";
  else
   echo "Time pequeno não conheço";
 ?>
 </body>
</html>
Agora sim! Digno de um excelente desenvolvedor web, organizado, que estudou pelo Curso PHP Progressivo.
Tutorial completo online grátis de PHP

Veja também

O melhor PC para programar

O melhor celular para programar