Nesse post vou falar um pouco sobre proposições lógicas, operadores lógicos e estruturas condicionais… Tudo isso vai ajudar e entender como funcionam as condições do PHP.
Proposições Lógicas
Uma proposição lógica é uma sentença que tem como resultado apenas dois valores: verdadeiro ou falso. Pra lógica não existem repostas como “mais ou menos”, “um pouco”, “depende”, “quase”… Em outras palavras: É ou não é. Verdadeiro ou falso. 0 ou 1. Sim ou não. Se existirem repostas fora de “verdadeiro” e “falso” não é uma proposição lógica.
Por exemplo a frase “O Sol é quente” só pode ser verdadeira ou falsa. O mesmo ocorre para “Está chovendo”. Ambas são proposições lógicas simples.
Existem proposições lógicas mais complexas, por exemplo, “O Sol é quente e está chovendo”, essa afirmação só vai ser verdadeira se ambos os fatos forem verdadeiros. Ou o exemplo “O Sol é quente ou está chovendo” que só vai ser verdadeira quando – no mínimo – um dos fatos for verdadeiro.
Operadores Lógicos
Existem palavras “especiais” que servem como um operador lógico e unem mais de uma proposição lógica na mesma afirmação, por exemplo, “O Sol é quente e a está chovendo”, nessa proposição lógica o operador lógico é o “e” que obriga as duas afirmações serem verdadeiras para a frase toda ser considera verdadeira também.
Outro operador lógico importante é o “ou” que implica na necessidade de apenas um dos fatos serem verdadeiros para toda a afirmação ser validada.
Existem dois exemplos práticos para um bom entendimento do “e” e do “ou“:
- O pai rígido falaria pro filho: “Você só vai jogar futebol se fizer o dever de casa e ajudar a sua mãe e tomar banho“
- O pai legal falaria pro filho: “Você só vai jogar futebol se fizer o dever de casa ou ajudar a sua mãe ou tomar banho“
Condições no PHP
No PHP existe a possibilidade de você executar um grupo X de comandos baseando-se em uma condição…
Usando um exemplo da vida real, parte do algoritmo da troca de lâmpada: “Se a lâmpada está quente, espere 10 minutos“… A condição é “lâmpada está quente” (proposição lógica simples) e implicará (ou não, dependendo do seu resultado) na execução da ação “espere 10 minutos“.
Para o PHP o resultado de uma proposição lógica é true ou false (verdadeiro ou falso).
Vejamos um exemplo de condição lógica no PHP:
<?php
if (2 > 3) {
echo "2 é maior que 3";
} else {
echo "2 é menor ou igual a 3";
}
?>
Ou seja: O primeiro echo só será executado se (if) a afirmação (2 > 3) seja verdadeira. Tudo que está entre as chaves { … } representa o grupo de ações que serão executados dependendo do resultado da afirmação. O else (que significa “se não”) precede o grupo de comandos que serão executados caso a afirmação seja falsa.
Podemos fazer uma condição um pouco mais útil, usando variáveis:
<?php
$nota = 3;
if ($nota >= 7) {
echo "Você foi aprovado!";
} else {
echo "Você foi reprovado!";
}
?>
Com isso, dependendo do valor da variável $nota a afirmação é verdadeira ou não.
Os operadores de comparação que podemos usar nessas afirmações são:
== (igual), != (diferente), > (maior), >= (maior ou igual), < (menor), <= (menor ou igual), === (idêntico), !== (não idêntico).
Vejamos alguns outros exemplos:
<?php
$nota = 3;
if ($nota != 10) {
echo "Você não tirou 10";
} else {
echo "Você tirou 10, parabéns!";
}
?>
<?php
$nome = 'Thiago';
if ($nome == 'Thiago') {
echo "Olá, Thiago";
} else {
echo "Olá, Visitante";
}
?>
<?php
$nota = 3;
// Verifica se a afirmação ($nota >= 7) é falsa (false)
if (($nota >= 7) == false) {
echo "Você foi reprovado";
} else {
echo "Você foi aprovado";
}
?>
Nas condições do PHP também podemos usar os operadores lógicos “e” e “ou” da mesma forma que eles foram explicados anteriormente, só que as palavras mudam para “AND” e “OR” respectivamente, vejamos alguns exemplos:
<?php
$nota = 3;
if ( ($nota >= 0) AND ($nota <= 10) ) {
echo "A sua nota é válida e está entre 0 e 10.";
} else {
echo "A sua nota é inválida";
}
?>
Repare que, ao usar o AND, cada afirmação ficou entre parêntesis e a afirmação completa também está entre parêntesis: ( (…) AND (…) ). O mesmo vale para o OR:
<?php
$nota = 3;
if ( ($nota < 0) OR ($nota > 10) ) {
echo "A sua nota é inválida";
} else {
echo "A sua nota é válida e está entre 0 e 10.";
}
?>
Por causa do OR essa condição só será inválida se nenhuma das afirmações dentro do if forem verdadeiras. Se a $nota for menor que zero ou maior que 10 a mensagem de erro será enviada.
Você também pode unir um if { … } a um else { … } de outro if { … } (hein?!), veja o exemplo:
<?php
$nota = 3;
if ( ($nota < 0) OR ($nota > 10) ) {
// (($nota é menor que 0) OU ($nota é maior que 10))
echo "A sua nota é inválida";
} else if ($nota >= 7) {
// (($nota é maior ou igual a 0) OU (menor ou igual a 10)) E ($nota é maior ou igual a 7)
echo "A sua nota é válida e você foi aprovado.";
} else {
// (($nota é maior ou igual a 0) OU (menor ou igual a 10)) E ($nota é menor que 7)
echo "A sua nota é válida e você foi reprovado.";
}
?>
Viram como é fácil? Coloquei comentários explicando o valor de $nota dentro de cada caso.
Espero que tenham entendido esse artigo que faz parte do grupo “os mais importantes” do blog. ![]()
Até~
Você também vai gostar de ler:
- Introdução a JSON e PHP (Webservices)
- Melhores práticas para deixar seu código legível
- Introdução a Arrays, Vetores e Listas
- Configurando o PHP
- Função para validação de datas no PHP
Com as tags Artigo, comentários, Lógica, PHP, Scripts, Variáveis
Escrito por Thiago Belem
Gostou desse artigo?
Não se esqueça de assinar o RSS e divulgue-o para o mundo: