Usar padrão no caso de troca de PHP
-
Caso PHP
switch
-
Use a instrução
default
na instruçãoswitch-case
em PHP -
Use a instrução
default
sem a instruçãobreak
em PHPswitch-case
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 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