Switch no PHP

O Switch no PHP é um comando para executar uma de várias ações baseadas em determinada condição. Semelhante ao encadeamento if..elseif..else.

O comando Switch


Se você quer selecionar um de vários blocos a serem executados use o comando switch.

O comando switch é usado para evitar longos comandos if-else, sendo na verdade um comando específico para esta situação.

Sintaxe
switch (expressão)
{
case identif.1:
codigo a ser executado se expressão = identif.1;
break;
case identif.2:
codigo a ser executado se expressão = identif.2;
break;
default:
código a ser executado se
a expressão não é igual a nenhuma das especificadas
nas expressões case
}
Exemplo
Isso é como funciona:
  • Uma única expressão (geralmente uma variável) é lida uma vez (diferentemente do que aconteceria em expressões if-else).
  • O valor da expressão é comparado com cada valor de case na estrutura.
  • Se uma comparação é bem sucedida, o código associado com aquele case é executado.
  • Depois que o código é executado, break é usado para parar o código e previnir que ele execute o proximo case.
  • Se o break não estiver presente os códigos dos cases e do default serão executados a partir daquele ponto até que um break seja encontrado ou até o final da estrutura.
O código de default é executado se nenhum dos cases tiver um identificador igual ao da expressão.
   1:<html>
2:<body>
3:<?php
4:switch ($x) {
5: case 1:
6: echo "Número 1";
7: break;
8: case 2:
9: echo "Número 2";
10: break;
11: case 3:
12: echo "Número 3";
13: break;
14: default:
15: echo "Não é um numero entre 1 e 3";
16:}
17:?>
18:</body>
19:</html>


Fonte

3 comentários:

  1. Amigo
    apanhei muito para aprender este exemplo que esta em seu blog e em minha apostila verifiquei que se nao colocar um valor a variavel ex $x = 2; aparece erros de undefined.

    att
    Fernando luiz

    ResponderExcluir
  2. Oi Thiago!

    Eu neste caso não apanhei tanto quanto nosso amigo JR Telecom, pois trabalhei como programador dBASE e Clipper por muitos anos, inclusive o comando SWITCH do php equivale ao comando DO CASE...ENDCASE das linguagens xBASE que eu programei.

    Mas compreendo que para quem não tem experiência em programação fica mais difícil descobrir o erro e acaba desanimando.

    Mas a solução é bem simples para resolver este problema, basta inserir mais uma linha de programação antes da linha onde esta o seguinte comando:

    switch ($x) {

    ficaria assim, por exemplo:

    $x=2;
    switch ($x) {

    Corrigindo isso esta aula fica perfeita, esse curso com pequenos ajustes ainda é um dos melhores que já vi.

    Abraços!!!

    ResponderExcluir
  3. Perfeitas já são esta aulas, a final $x é uma variável e tem de ser data um valor a ela, mais adiante esta poderá receber o valor de um formulário etc.
    Não sou programador ou coisa do gênero, comecei brincando com BASIC, DBASIC, VISUALBASIC (no excel), Miro Masc, e um dia conheci o HTML, desde então não existia mais o MSDOS, e não podia rodar o MIRIÓ. Tive notícias do PHP, e saí desesperado, achei, estudei, mas não conseguia rodar, veja o sufoco. Mais tarde descobri o WAMPER e outros server. Parabéns, ete blog agrupa muito conhecimento, onde o (aluno), pode seguir uma sequencia sem peregrinar. mmoacirpc@gmail.com. (perdão, se não pode se identificar, o Sr. gestor pode excluir meu comentário por favor.)

    ResponderExcluir