Cursos On-line Gratuitos- PHP

Aula 12

Estamos no módulo de aula anterior o comando IF ... Elseif ... Endif. Neste módulo de aula vamos estudar um comando similar, o Switch, sendo que ao contrário do que estudamos na aula anterior, o comando Switch aceita apenas comparações lógicas de igualdade nos testes aplicados em sua estrutura.Veja a sintaxe do comando em questão:

Switch ($variavel) {
    case valor1:
        lista de comandos caso a variável for igual ao valor1;
    case valor2:
        lista de comandos caso a variável for igual ao valor2;
    case valor3:
        lista de comandos caso a variável for igual ao valor3;
    ...
    ...
}

Observe que a nível de estrutura de código, por oferecer um case para cada valor a ser testado para uma determinada variável, o comando Switch proporciona um código mais claro e de fácil compreensão, porém como citamos, o mesmo efetua apenas comparação de igualdade entre a variável e os valores a serem testados.

Veja abaixo dois Scripts, um utilizando o If e outro o Switch:

if ($mes==1)
    $ndias=31;
if ($mes==2)
    $ndias=28;
if ($mes==3)
    $ndias=31;
if ($mes==4)
    $ndias=30;
if ($mes==5)
    $ndias=31;
.....

Switch ($mes) {
    case 1:
        $ndias=31;
        break;
    case 2:
        $ndias=28;
        break;
    case 3:
        $ndias=31;
        break;
    case 4:
        ...

Observe que o código fica mais claro, apesar dos dois Scripts oferecerem o mesmo resultado final. Vale lembrar também que utilizamos o break para que a estrutura de testes seja abandonada, pois já encontramos o valor pretendido e não será necessário consultar as condições seguintes.

Em alguns casos, devido ao fato do Switch só permitir comparação lógica de igualdade, somos obrigados a utilizar o If, como por exemplo em um sistema de compras On-line, onde o usuário poderá solicitar uma quantia maior do que a disponível em estoque de um determinado produto.

No próximo módulo de aula iremos estudar  os comandos responsáveis pelo controle de fluxo do sistema.

 

Voltar

Principal | Cursos Gratuitos | Cursos Diversos | Dicas | Promoções | Mapa do Site | QUIZ |
| Classificados | Central Currículo | Fórum | Fale Conosco