Para fazermos escolhas da linguagem de programação PHP, utilizamos o comando switch que possui sua
sintaxe apresentada abaixo. O comando switch utiliza o comando break como parte de sua sintaxe.
Fig. 1: Comando switch
 |
Sintaxe
switch(condicao)
{
case caso1:
//codigo
break;
case caso2:
//codigo
break;
default:
//codigo
break;
}
O caso default é opcional. Com esse caso, podemos executar algum trecho de código caso o valor
não seja igual a algum dos valores da cláusula case.
Exemplo 1
<?php
$teste = 3;
switch($teste){
case 0: echo "0"; break;
case 1: echo "1"; break;
case 2: echo "2"; break;
case 3: echo "3"; break;
default:
echo "inválido.";
break;
}
?>
Saída
3
O comando switch utiliza outro comando, o comando break para interromper a execução do comando switch.
Para ver como funciona o comando break visite
Comando Break.
switch e múltiplos cases
Para a execução de um mesmo trecho de código para mais de uma caso, basta adicionar
as cláusulas case em sequência ou 'um abaixo do outro' separadas por (:).
Exemplo 3
<?php
$teste = 2;
switch($teste){
case 0:
case 1:
case 2: echo "0,1,2"; break;
default: echo "inválido."; break;
}?>
Saída
0,1,2
A linguagem PHP permite também que strings sejam utilizandos nos cases do comando
switch, não limitando-se apenas aos tipos inteiros.
Exemplo 4
<?php
$teste = "str0";
switch($teste)
{
case "str0": echo "str0"; break;
default: echo "inválido."; break;
}
?>
Saída
str0
PHP, assim como C/C++, permite que o switch tenha membros de enumeradores em seus
cases. O tipo de dado enum pode ser visto em
PHP Básico : Enum.
Exemplo 3
<?php
enum MEnum
{
case Zero;
case Um;
case Dois;
case Tres;
}
$teste = MEnum::Um;
switch($teste)
{
case MEnum::Zero: echo "Zero"; break;
case MEnum::Um: echo "Um"; break;
default: echo "inválido."; break;
}
?>
Saída
Um