Neste artigo falaremos sobre três estruturas condicionais do
PHP. O 'if', o 'switch' e o operador ternário.
O IF
O if é a mais básica estrutura condicional de qualquer
linguagem. No PHP o if pode ser executado de duas formas:
if($condição) {
// código
}
ou
if($condicao):
// código
endif;
As duas formas fazem a mesma coisa sem diferença
significativa no desempenho. Abaixo seguem exemplos utilizando if das duas
maneiras:
if($x ==
1) {
echo 'X é igual a 1';
} elseif
($x == 2) {
echo 'X é igual a 2;
} elesif
($x == 3) {
echo 'X é igual a 3';
}else{
echo 'Não sei o valor de X';
}
O código acima compara o valor de $x com os valores 1, 2 e 3
utilizando o operador 'elseif', caso nenhuma das verificações satisfaça
a condição, é exibido 'Não sei o valor de X'.
Segue abaixo o mesmo exemplo utilizando a outra forma de
executar um if:
$x = 3;
if($x == 1):
echo 'X é igual a 1';
elseif ($x == 2):
echo 'X é igual a 2;
elesif ($x == 3):
echo 'X é igual a 3';
else:
echo 'Não sei o valor
de X';
endif;
O Operador ternário
O operador ternário também é muito simples. Segue a sua
estrutura básica:
$valor = ($condicao) ? “A
condição é verdadeira” : “A condição é falsa”;
A linha acima diz:
teste a condição ($condição), se for
verdadeira insira a string “A condição é verdadeira” na variável $valor,
caso contrário insira a string “A condição é falsa”.
Um outro exemplo disso pode ser:
$idade = 17;
$maior_de_idade = ($idade
> 18) ? true : false;
Na operação acima é testado a idade. Está sendo verificada
se o valor contido nela é maior que 18. Se a condição for verdadeira, insere o
valor booleano true na variável $idade, caso contrário insere false.
O uso do parenteses é opcional. Sendo que a expressão abaixo
funciona da mesma forma do exemplo anterior:
$maior_de_idade = $idade
> 18 ? true : false;
O SWITCH
Outra estrutura condicional é o SWITCH, conhecida
como um uma forma mais elegante de fazer testes condicionais em relação ao IF.
A sua sintaxe é a seguinte:
switch($condição) {
case $opcao1:
// codigo opção 1
break;
case $opcao2:
// codigo opção 2
break;
case $opcao3:
// codigo opcao3
break;
default:
// codigo caso nenhuma das opções satisfaça a condição
}
A primeira instrução da estrutura (switch), é aonde você
insere a condição, ou o valor que será comparado.
Em seguida temos o operador case. Nele você deve inserir os
valores ou situações que serão tratados.
O comando 'break' deve ser inserido no fim do bloco case.
Ele define o fim da execução daquele case.
E por fim, o default. O bloco default será executado quando
nenhuma das opções satisfizerem a condição.
Como ele é o ultimo bloco, o uso do break não é obrigatório
aqui, porque não há mais nenhuma opção a ser testada.
Abaixo seguem exemplos práticos com o switch.
Com String:
$nome = “Maria”
switch($nome) {
case “Carol”:
// operaçoes para Carol
break;
case “Marcelo”:
// operações para Marcelo
break;
case “Maria”:
// operaçoes para Maria
break;
default:
// o nome não é igual a nenhum dos definidos acima
}
Com Números:
switch($idade) {
case
($idade <= 13):
echo
'Criança';
break;
case
(($idade > 13) && ($idade < 20)):
echo
'Adolescente';
break;
case
($idade >= 20):
echo
'Adulto';
break;
}
Omitindo o comando 'break', os blocos case que estiverem
após do atual também serão executados.
O exemplo abaixo faz a mesma coisa do mostrado
anteriormente. A diferença é que a sua estrutura omite o 'break' para exibir
'Criança' para valores abaixo de 13.
$idade = 20;
switch($idade) {
case ($idade == 1):
case ($idade == 2):
case ($idade == 3):
case ($idade == 4):
case ($idade == 5):
case ($idade == 6):
case ($idade == 7):
case ($idade == 8):
case ($idade == 9):
case ($idade == 10):
case ($idade == 11):
case ($idade == 12):
case ($idade == 13):
echo 'Criança';
break;
case (($idade > 13) && ($idade < 20)):
echo 'Adolescente';
break;
case ($idade >= 20):
echo 'Adulto';
break;
}
Nenhum comentário:
Postar um comentário