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:
5 | 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:
4 | echo "Você foi aprovado!"; |
6 | 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:
4 | echo "Você não tirou 10"; |
6 | echo "Você tirou 10, parabéns!"; |
3 | if ($nome == 'Thiago') { |
4 | if (($nota >= 7) == false) { |
5 | echo "Você foi reprovado"; |
7 | 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:
3 | if ( ($nota >= 0) AND ($nota <= 10) ) { |
4 | echo "A sua nota é válida e está entre 0 e 10."; |
6 | 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:
3 | if ( ($nota < 0) OR ($nota > 10) ) { |
4 | echo "A sua nota é inválida"; |
6 | 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:
03 | if ( ($nota < 0) OR ($nota > 10) ) { |
05 | echo "A sua nota é inválida"; |
06 | } else if ($nota >= 7) { |
08 | echo "A sua nota é válida e você foi aprovado."; |
11 | 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.