Neste guia definitivo você vai dominar: A instrução switch no PHP, como organizar múltiplas condições de forma profissional, o uso estratégico do break e do default, e a comparação entre switch e elseif em sistemas reais.
Para que serve o comando SWITCH em PHP?
O switch serve para simplificar a tomada de decisão quando uma única variável pode assumir vários valores distintos. Em vez de encadear diversos if e elseif, o switch organiza o código em "casos" (cases), executando o bloco de código correspondente ao valor da variável de forma linear e muito mais legível para manutenção.
O Comando SWITCH em PHP
Neste tutorial de nosso curso de PHP, vamos aprender o que é, para que serve e como usar a instrução SWITCH do PHP.
A instrução switch do PHP é muito útil quando temos uma variável (ou resultado de uma expressão) que pode assumir diversos valores, e queremos tratar cada uma dessas possibilidades, de uma maneira mais organizada.
É perfeitamente possível fazer tudo isso com uma porção de IF, ELSE e ELSEIF. Mas o IF só resulta em TRUE ou FALSE, as vezes o resultado que queremos tratar é outro (como um número, uma string etc).
De fato, fizemos isso em nosso tutorial de ELSEIF em PHP, no exemplo dos times de futebol, que vamos refazer usando SWITCH já já.
A declaração do comando switch é:
<?php
switch($variavel){
case valor1:
[codigo]
case valor2:
[codigo]
case valor3:
[codigo]
}
?>
Funciona assim...temos que passar algum valor pra switch(), dentro dos parêntesis. Em seguida, o PHP vai testar esse valor com vários cases, ou seja, vai testar se é igual a valor1, a valor2, a valor3...e onde for igual, ele executa todo o código, somente dali pra baixo.
Exemplo de uso do SWITCH
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.
Use a instrução SWITCH
Bom, vamos lá, nosso código fica assim:
<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'];
switch($time){
case 'Corinthians':
echo "Vai Timão!";
case 'Palmeiras':
echo "Não tem mundial";
case 'Flamengo':
echo "Flamíííídia";
case 'São Paulo':
echo "Bambiiis";
case 'Athlético':
echo "Huum...aflético";
}
?>
</body>
</html>
Faça um teste. Escreva, por exemplo, Flamengo, o resultado vai ser: "FlamíííídiaBambiiisHuum...aflético"
Temos aí dois problemas. O primeira era que era pra ser só 'Flamíííídia' o resultado, e não tudo isso. O segundo problema é se outro time for digitado, era pra aparecer "Time pequeno, nem conheço".
Vamos ver como resolver isso.
A instrução break em SWITCH no PHP
Quando definimos para que serve a switch dissemos que ele procura o case correspondente e executa o código DALI EM DIANTE.
Ao digitar 'Flamengo', o PHP acha o case 'Flamengo' no switch, executa seu código e o dos próximos cases. O que queremos é que seja executado somente o case correto e pare, não execute mais nada. Para isso, temos que usar a expressão break (quebrar, parar) ao final de cada case.
Veja como fica nosso código com o comando break:
<?php
$time = $_GET['time'];
switch($time){
case 'Corinthians':
echo "Vai Timão!";
break;
case 'Palmeiras':
echo "Não tem mundial";
break;
case 'Flamengo':
echo "Flamíííídia";
break;
case 'São Paulo':
echo "Bambiiis";
break;
case 'Athlético':
echo "Huum...aflético";
break;
}
?>
O comando default no SWITCH em PHP
Mas ainda não está completo, nosso código. E se você digitar outro clube que não está aí, como Ceará ou Paraná, por exemplo? Era pra aparecer "Não conheço time pequeno"...e aí, criar um case para cada outro clube possível?
Óbvio que não, nem tem como, são muitas opções! É aí que entra o default. Tudo que não for tratado/captado por nenhum case, vai cair no default.
Veja como fica nosso código completo, funcionando perfeitamente, com instrução switch e comandos break e default:
<?php
$time = $_GET['time'];
switch($time){
case 'Corinthians':
echo "Vai Curintcha!";
break;
case 'Palmeiras':
echo "Não tem mundial";
break;
case 'Flamengo':
echo "Flamíííídia";
break;
case 'São Paulo':
echo "Bambiiis";
break;
case 'Athlético':
echo "Huum...aflético";
break;
default:
echo "Não conheço time pequeno";
}
?>
📘 Domine a Lógica e acelere sua carreira!
O Switch é apenas o começo. Quer aprender a estruturar sistemas completos e profissionais? Baixe a Apostila PHP Progressivo e tenha o guia completo de estudos no seu computador.
BAIXAR APOSTILA AGORA →Ficou alguma dúvida? Use o switch sempre que precisar comparar uma variável contra uma lista de valores fixos. É mais rápido de escrever e muito mais elegante.
🛠️ Upgrade de Programador: Switch vs Match (PHP 8+)
Embora o switch seja clássico, no PHP 8.0+ ganhamos a expressão match. Diferente do switch, o match retorna um valor diretamente e usa comparação estrita (não precisa de break!). Se você quer ser um desenvolvedor de elite em 2026, vale a pena conhecer essa evolução, mas o switch continua sendo essencial para entender o fluxo de programas legados e de alto desempenho.
Exercício de Switch
Escreva uma página WEB onde o usuário vai inserir o número correspondente ao mês, ou seja, de 1 até 12 e o PHP vai devolver o nome, por extenso, do mês que o usuário digitou. Use Switch.
Nenhum comentário:
Postar um comentário