switch
 (PHP 4, PHP 5, PHP 7, PHP 8)
 
  A declaração switch é similar a uma série de
  declarações IF na mesma expressão. Em muitos casos, se deseja
  comparar as mesmas variáveis (ou expressões), com
  diferentes valores, e executar pedaços diferentes de código dependendo
  de qual valor ela é igual. Esta é exatamente a serventia da
  declaração switch.
 
 Nota: 
  
   Note que ao contrário de outras linguagens, a declaração
   continue
   aplica-se ao switch e age similarmente ao break. Se
   possuir um switch dentro de um laço, e deseja continuar na próxima iteração
   do laço externo, utilize continue 2.
  
 
 Nota: 
  
   Note que o switch/case faz
   comparação frouxa.
  
 
 
  No exemplo a seguir, cada bloco de código é equivalente.
  Um usa uma série de declarações if e
  elseif, e o outra usa uma
  declaração switch. A saída é a mesm a em ambos os casos.
  
   Exemplo #1 Estrutura do switch
   
<?php
// Esta declaração switch:
switch ($i) {
    case 0:
        echo "i é igual a 0";
        break;
    case 1:
        echo "i é igual a 1";
        break;
    case 2:
        echo "i é igual a 2";
        break;
}
// É equivalente a:
if ($i == 0) {
    echo "i é igual a 0";
} elseif ($i == 1) {
    echo "i é igual a 1";
} elseif ($i == 2) {
    echo "i é igual a 2";
}
?>
    
   
 
 
  É importante entender como a declaração switch
  é executada a fim de evitar enganos. A declaração
  switch executa linha por linha
  (na verdade, declaração por declaração). No início, nenhum código é
  executado. Somente quando uma declaração case é encontrada,
  cuja expressão avalia um valor que corresponde ao valor do
  switch, o PHP começará a executar a
  declaração. O PHP continuará a executar a declaração até o fim do bloco
  switch, ou até a primeira declaração
  break encontrada. Se não for escrita uma declaração
  break ao final da lista de declarações do case,
  o PHP continuará executando as declarações dos próximos
  cases. Por exemplo:
  
 
 
  Neste exemplo, se a variável $i for igual a 0, o PHP executará todas as
  declarações echo! Se a variável $i for igual a 1, o PHP executará as duas
  últimas declarações echo. Somente se obterá o comportamento esperado ('i equals 2'
  será exibido), se $i for igual a 2. Sendo assim,
  é importante não esquecer as declarações break
  (mesmo quando se quer evitar, de propósito, sua omissão em
  certas circunstâncias).
 
 
  Em uma declaração switch, a condição é
  avaliada somente uma vez, e o resultado é comparado a cada
  declaração case. Em uma declaração elseif.
  a condição é avaliada outra vez. Se a condição for
  mais complicada que uma simples comparação e/ou está em um laço pequeno,
  a declaração switch pode ser mais rápida.
 
 
  A lista de declarações de um case também pode estar vazia,
  passando o controle da lista de declarações para o próximo case.
  
 
 
  Um case especial é o default. Este case corresponde
  a tudo que não foi correspondido pelos outros cases. Por exemplo:
  
  Nota: 
   
    Múltiplos casos padrões irão emitir um
    erro E_COMPILE_ERROR.
   
  
  Nota: 
   
    Tecnicamente o caso default pode ser listado
    em qualquer ordem. Ele será usado apenas se nenhum outro caso corresponder.
    No entanto, por conversão, é melhor inseri-lo no fim como a
    última ramificação.
   
  
 
 
  Se nenhuma ramificação case corresponder, e não existe nenhuma ramificação
  default, então nenhum código será executado, assim como se nenhuma declaração if fosse verdadeira.
 
 
  Um valor de caso pode ser dado como uma expressão. No entanto, essa expressão será
  avaliada de forma isolada, e então será frouxamente comparada com o valor do switch. Isso significa que
  ela não pode ser usada para avaliações complexas do valor do switch. Por exemplo:
  
 
 
  Para comparações mais complexas, o valor true pode ser usado como o valor do switch.
  Ou, alternativamente, if-else em vez do switch.
  
 
 
  A sintaxe alternativa das estruturas de controle é suportada por
  switches. Para mais informações, veja Sintaxe alternativa
  para estruturas de controle.
  
 
 
  É possível utilizar o ponto e vírgula ao invés dos dois pontos em um case, como: