O comando switch
atua de maneira semelhante a uma série de comandos if
na mesma expressão. Freqüentemente o programador pode querer
comparar uma variável com diversos valores, e executar um código
diferente a depender de qual valor é igual ao da variável. Quando
isso for necessário, deve-se usar o comando switch.
O exemplo seguinte mostra dois trechos de código que fazem a mesma
coisa, sendo que o primeiro utiliza uma série de if’s
e o segundo utiliza switch:
if
($i == 0)
print
“i é igual a zero”;
elseif
($i == 1)
print
“i é igual a um”;
elseif
($i == 2)
print
“i é igual a dois”;
switch
($i) {
case
0:
print
“i é igual a zero”;
break;
case
1:
print
“i é igual a um”;
break;
case
2:
print
“i é igual a dois”;
break;
}
É importante compreender o funcionamento do switch
para não cometer enganos. O comando switch
testa linha a linha os cases encontrados, e a partir do momento que
encontra um valor igual ao da variável testada, passa a executar
todos os comandos seguintes, mesmo os que fazem parte de outro teste,
até o fim do bloco. por isso usa-se o comando break,
quebrando o fluxo e fazendo com que o código seja executado da
maneira desejada. Veremos mais sobre o break
mais adiante. Veja o exemplo:
switch
($i) {
case
0:
print
“i é igual a zero”;
case
1:
print
“i é igual a um”;
case
2:
print
“i é igual a dois”;
}
No exemplo acima, se $i for igual a zero, os três
comandos “print” serão executados. Se $i for igual a 1, os dois
últimos “print” serão executados. O comando só funcionará da
maneira desejada se $i for igual a 2.
Em outras linguagens que implementam o comando switch,
ou similar, os valores a serem testados só podem ser do tipo
inteiro. Em PHP é permitido usar valores do tipo string como
elementos de teste do comando switch. O exemplo abaixo funciona
perfeitamente:
switch
($s) {
case
“casa”:
print
“A casa é amarela”;
case
“arvore”:
print
“a árvore é bonita”;
case
“lâmpada”:
print
“João apagou a lâmpada”;
}
Nenhum comentário:
Postar um comentário