Usar padrão no caso de troca de PHP

Subodh Poudel 30 janeiro 2023
  1. Caso PHP switch
  2. Use a instrução default na instrução switch-case em PHP
  3. Use a instrução default sem a instrução break em PHP switch-case
Usar padrão no caso de troca de PHP

Apresentaremos as instruções switch case em PHP. Descreveremos os diferentes cenários de casos de switch e como o código trata os casos. Em seguida, apresentaremos a instrução break e seu uso na instrução switch case em PHP.

Verificaremos se o caso default é executado se existe um caso correspondente antes dele. Neste método, removeremos a instrução break para verificar o resultado.

Caso PHP switch

A instrução switch-case é condicional e uma alternativa à instrução if-elseif-else. A instrução verifica uma variável para vários casos até encontrar a correspondência correta e a executa de acordo com o caso correspondido. Podemos usar a instrução switch para testar a variável e usar a instrução case para especificar o caso a ser testado. Escrevemos o trecho de código após a instrução case para executar o código se houver correspondência de maiúsculas e minúsculas.

A instrução switch-case difere da instrução if-elseif-else de uma maneira distinta. A instrução if-elseif-else executa o único código depois que a condição é verdadeira e aborta o teste condicional. Mas, na instrução switch case, cada caso é testado e cada código correspondente é executado. Para se livrar do problema, usamos a instrução break. Quando o caso coincide e os códigos correspondentes são executados, a execução chega à instrução break e a verificação condicional é abortada. Portanto, escrevemos a instrução break no final de cada caso.

Por exemplo, crie uma variável $favfood e atribua a ela o valor pizza. Escreva uma instrução switch tomando a variável $favfood entre parênteses. Dentro da instrução switch, escreva a instrução case e forneça o case momo como case "momo":. Não perca os dois pontos após o valor. Use a declaração echo abaixo da caixa e exiba a mensagem Your favorite food is momo!. Escreva a instrução break após exibir a mensagem. Da mesma forma, escreva os casos para spaghetti e pizza como fez para momo, exiba a mensagem de acordo e escreva a instrução break para cada um dos casos.

O exemplo abaixo exibe a mensagem Your favorite food is pizza! porque a variável $favfood contém o valor pizza. Em primeiro lugar, o caso momo é testado. Como não corresponde, a execução segue para o caso spaghetti. Este caso também não corresponde, mas o caso pizza corresponde. Em seguida, ele exibe a mensagem correspondente e executa a instrução break. A instrução break termina toda a instrução switch case, evitando que o código adicional seja executado.
Código de exemplo:

# php 7.*
<?php
$favfood = "pizza";
switch ($favfood) {
    case "momo":
        echo "Your favorite food is momo!";
    break;
    case "spaghetti":
        echo "Your favorite food is spaghetti!";
    break;
    case "pizza":
        echo "Your favorite food is pizza!";
    break;
    case "burger":
        echo "Your favorite food is burger!";
    break;
}
?>

Resultado:

Your favorite color is pizza!

Use a instrução default na instrução switch-case em PHP

Podemos usar a instrução default na instrução switch-case para denotar os casos que não atendem aos casos especificados acima. Em outras palavras, a instrução default será executada se nenhum dos casos corresponder. Escrevemos a declaração default no final de todos os casos. No exemplo acima, não há um caso padrão. Se nenhum dos casos mencionados corresponder, o código não gerará nada. Portanto, a declaração default aborda o resto dos casos.

Podemos modificar o primeiro exemplo de código para ilustrar o uso da instrução default. Por exemplo, atribua o valor spaghetti à variável $favfood. Remova os blocos de código do caso spaghetti e adicione uma instrução padrão. Dentro da declaração default, exiba a mensagem We could not find your favorite food. Escreva a declaração break após a mensagem.

No exemplo abaixo, nenhum dos casos especificados correspondem. Assim, o controle atinge a instrução default. Em seguida, ele exibe a mensagem correspondente. Se não tivéssemos removido os blocos de código do spaghetti, a instrução padrão não seria executada. Ele mostraria a mensagem Your favorite food is spaghetti!. A instrução break abortaria a verificação condicional se o caso fosse compatível.

Código de exemplo:

#php 7.x
<?php
$favfood = "spaghetti";
switch ($favfood) {
    case "momo":
        echo "Your favorite food is momo!";
    break;
    case "pizza":
        echo "Your favorite food is pizza!";
    break;
    case "burger":
        echo "Your favorite food is burger!";
    break;
    default:
        echo "We could not find your favorite food";
    break;
}
?>

Resultado:

We could not find your favorite food

Use a instrução default sem a instrução break em PHP switch-case

Podemos usar a instrução default no caso de switch sem usar a instrução break para verificar se o bloco default executará um caso correspondente antes dele. Podemos modificar ligeiramente o código de exemplo acima para a demonstração. Por exemplo, atribua $favfood ao valor de momo. Escreva os casos e blocos de código para momo, pizza, burger e default, respectivamente. Não escreva a instrução break em nenhum dos blocos de código.

No exemplo abaixo, a execução passa por todos os casos e exibe todas as mensagens. Mesmo se houver os casos correspondentes antes, o bloco padrão será executado junto com os blocos seguidos pelo caso correspondente. Isso ocorre porque omitimos a instrução break.

Código de exemplo:

#php 7.x
<?php
$favfood = "momo";
switch ($favfood) {
    case "momo":
        echo "Your favorite food is momo!"."<br>"; 
    case "pizza":
        echo "Your favorite food is pizza!"."<br>";
    case "burger":
        echo "Your favorite food is burger!"."<br>";
    default:
        echo "We could not find your favorite food"."<br>"; 
}
?>

Resultado:

Your favorite food is momo! 
Your favorite food is pizza! 
Your favorite food is burger! 
We could not find your favorite food.
Subodh Poudel avatar Subodh Poudel avatar

Subodh is a proactive software engineer, specialized in fintech industry and a writer who loves to express his software development learnings and set of skills through blogs and articles.

LinkedIn