- -Stand!Membro XI
- Idade : 26
Posts : 2679
Créditos : 0
Respeito : -16
Entenda sobre PHP Parte 7
Qui 25 Jun 2009, 12:05
O Switch
Já
vimos como podemos usar o IF..else para criar-mos escolhas entre blocos
de códigos a executar. E vimos também, como múltiplos IF's podem ser
encadeados, para podermos atingir diversas situações. Um dos exemplos
utilizados foi:
If ($dia=="Sábado") echo "Fico em casa";
else if ($dia=="Domingo") echo "Vou passear";
else echo "É dia da semana, vai trabalhar!!!";
è
um exemplo simples, onde o IF..else resolve bem o problema. Mas, o caso
muda de figura, se tivermos de considerar enumeras hipóteses. Utilizar
muitos "If..else if.. else if... else" torna-se impraticável, e muito
confuso de ser perceber. è nesta altura que entra o Switch. O swich é
uma função que valida uma variável do tipo caracter, inteira, real ou
string.
Consoante determinada validação (ou opção considerada
válida) é-nos permitido executar determinado bloco de código para esse
"caso/estado" da variável.
Pegando no exemplo anterior, e utilizando o Switch, temos o seguinte exemplo:
<?
switch($dia)
{
case "Sábado": echo "Fico em casa"; break;
case "Domingo": echo "Vou passear"; break;
default: echo "É dia da semana, vai trabalhar!!!";
}
?>
Vou
explicar passo a passo. Primeiro, indicamos à função switch() qual a
variável estamos a testar: neste caso a variável $dia. Depois abrimos
um bloco de código desta função, onde declaramos os casos ou estados da
variável Cada caso é indicado com a sigla "case" seguido do seu valor
Os ":" indicam que o código que se segue é pertencente ao caso
anteriormente declarado. E no fim de cada case, terminamos o bloco com
um "break" para que mais nada seja executado do Switch. Por fim,
podemos especificar um caso "default", para a ocasião de nenhum dos
"cases" anteriores, seja o estado pretendido.
Seguindo a lógica do script temos a seguinte interpretação:
1- Indicação de que vamos validar a variável $dia
2- Caso $dia="Sábado", escreve "Fico em casa"; Termina o switch;
3- Caso $dia="Domingo", escreve "Vou passear"; Termina o switch;
4- Caso default, escreve "É dia da semana, vai trabalhar!!!";
NOTA:
O Default é sempre executado, sempre que nenhum dos "case"
anteriormente declarados, seja o estado da variável que estamos a
testar.
Uma forma de facilitar múltiplas opções que utilizam
o mesmo código, em vez de estar a repetir o código para cada opção
comum utilizamos a seguinte implementação do switch:
<?
switch($dia)
{
case "Sábado":
case "Domingo": echo "Estamos no Fim de Semana"; break;
default: echo "Estamos num dos dias da semana!";
}
?>
Assim,
caso o $dia seja "Sábado" ou "Domingo", ambos executarão o mesmo
código. Caso $dia seja outro valor qualquer, utiliza a opção default.
Exercício 5:
Dada
a variável $mes com um valor entre 1 e 12, constrói 2 switch, onde o
primeiro indicara o mês do ano, e o segundo indicará a estação do ano.
Ambos os switch devem de ter uma condição "default": o primeiro deverá
dizer "Mes inválido"; e o segundo "Estação invalida"; para um numero
inferior a 1 ou superior a 12.
Exemplo 1:
$mês=1;
Output do script:
"Mês Janeiro, estação Inverno";
Exemplo 2:
$mês=4;
Output do script:
"Mês Abril, estação Primavera";
Exemplo 3:
$mês=7;
Output do script:
"Mês Julho, estação Verão";
Resumo:
Podemos
utilizar o switch para validar múltiplos estados de uma variável,
evitando assim sucessivos If..else. Podemos ainda agrupar diversos
casos de uma variável, para que qualquer um desses casos executem o
mesmo código. A instrução break, termina a execução do Switch.
Já
vimos como podemos usar o IF..else para criar-mos escolhas entre blocos
de códigos a executar. E vimos também, como múltiplos IF's podem ser
encadeados, para podermos atingir diversas situações. Um dos exemplos
utilizados foi:
If ($dia=="Sábado") echo "Fico em casa";
else if ($dia=="Domingo") echo "Vou passear";
else echo "É dia da semana, vai trabalhar!!!";
è
um exemplo simples, onde o IF..else resolve bem o problema. Mas, o caso
muda de figura, se tivermos de considerar enumeras hipóteses. Utilizar
muitos "If..else if.. else if... else" torna-se impraticável, e muito
confuso de ser perceber. è nesta altura que entra o Switch. O swich é
uma função que valida uma variável do tipo caracter, inteira, real ou
string.
Consoante determinada validação (ou opção considerada
válida) é-nos permitido executar determinado bloco de código para esse
"caso/estado" da variável.
Pegando no exemplo anterior, e utilizando o Switch, temos o seguinte exemplo:
<?
switch($dia)
{
case "Sábado": echo "Fico em casa"; break;
case "Domingo": echo "Vou passear"; break;
default: echo "É dia da semana, vai trabalhar!!!";
}
?>
Vou
explicar passo a passo. Primeiro, indicamos à função switch() qual a
variável estamos a testar: neste caso a variável $dia. Depois abrimos
um bloco de código desta função, onde declaramos os casos ou estados da
variável Cada caso é indicado com a sigla "case" seguido do seu valor
Os ":" indicam que o código que se segue é pertencente ao caso
anteriormente declarado. E no fim de cada case, terminamos o bloco com
um "break" para que mais nada seja executado do Switch. Por fim,
podemos especificar um caso "default", para a ocasião de nenhum dos
"cases" anteriores, seja o estado pretendido.
Seguindo a lógica do script temos a seguinte interpretação:
1- Indicação de que vamos validar a variável $dia
2- Caso $dia="Sábado", escreve "Fico em casa"; Termina o switch;
3- Caso $dia="Domingo", escreve "Vou passear"; Termina o switch;
4- Caso default, escreve "É dia da semana, vai trabalhar!!!";
NOTA:
O Default é sempre executado, sempre que nenhum dos "case"
anteriormente declarados, seja o estado da variável que estamos a
testar.
Uma forma de facilitar múltiplas opções que utilizam
o mesmo código, em vez de estar a repetir o código para cada opção
comum utilizamos a seguinte implementação do switch:
<?
switch($dia)
{
case "Sábado":
case "Domingo": echo "Estamos no Fim de Semana"; break;
default: echo "Estamos num dos dias da semana!";
}
?>
Assim,
caso o $dia seja "Sábado" ou "Domingo", ambos executarão o mesmo
código. Caso $dia seja outro valor qualquer, utiliza a opção default.
Exercício 5:
Dada
a variável $mes com um valor entre 1 e 12, constrói 2 switch, onde o
primeiro indicara o mês do ano, e o segundo indicará a estação do ano.
Ambos os switch devem de ter uma condição "default": o primeiro deverá
dizer "Mes inválido"; e o segundo "Estação invalida"; para um numero
inferior a 1 ou superior a 12.
Exemplo 1:
$mês=1;
Output do script:
"Mês Janeiro, estação Inverno";
Exemplo 2:
$mês=4;
Output do script:
"Mês Abril, estação Primavera";
Exemplo 3:
$mês=7;
Output do script:
"Mês Julho, estação Verão";
Resumo:
Podemos
utilizar o switch para validar múltiplos estados de uma variável,
evitando assim sucessivos If..else. Podemos ainda agrupar diversos
casos de uma variável, para que qualquer um desses casos executem o
mesmo código. A instrução break, termina a execução do Switch.
Permissões neste sub-fórum
Não podes responder a tópicos
|
|