Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.
Lomadee, uma nova espécie na web. A maior plataforma de afiliados da América Latina.

quarta-feira, 28 de setembro de 2011

Condições no PHP – Introdução à Lógica


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:
1<?php
2if (2 > 3) {
3echo "2 é maior que 3";
4else {
5echo "2 é menor ou igual a 3";
6}
7?>
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:
1<?php
2$nota = 3;
3if ($nota >= 7) {
4echo "Você foi aprovado!";
5else {
6echo "Você foi reprovado!";
7}
8?>
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:
1<?php
2$nota = 3;
3if ($nota != 10) {
4echo "Você não tirou 10";
5else {
6echo "Você tirou 10, parabéns!";
7}
8?>
1<?php
2$nome 'Thiago';
3if ($nome == 'Thiago') {
4echo "Olá, Thiago";
5else {
6echo "Olá, Visitante";
7}
8?>
1<?php
2$nota = 3;
3// Verifica se a afirmação ($nota >= 7) é falsa (false)
4if (($nota >= 7) == false) {
5echo "Você foi reprovado";
6else {
7echo "Você foi aprovado";
8}
9?>
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:
1<?php
2$nota = 3;
3if ( ($nota >= 0) AND ($nota <= 10) ) {
4echo "A sua nota é válida e está entre 0 e 10.";
5else {
6echo "A sua nota é inválida";
7}
8?>
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:
1<?php
2$nota = 3;
3if ( ($nota < 0) OR ($nota > 10) ) {
4echo "A sua nota é inválida";
5else {
6echo "A sua nota é válida e está entre 0 e 10.";
7}
8?>
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:
01<?php
02$nota = 3;
03if ( ($nota < 0) OR ($nota > 10) ) {
04// (($nota é menor que 0) OU ($nota é maior que 10))
05echo "A sua nota é inválida";
06else if ($nota >= 7) {
07// (($nota é maior ou igual a 0) OU (menor ou igual a 10)) E ($nota é maior ou igual a 7)
08echo "A sua nota é válida e você foi aprovado.";
09else {
10// (($nota é maior ou igual a 0) OU (menor ou igual a 10)) E ($nota é menor que 7)
11echo "A sua nota é válida e você foi reprovado.";
12}
13?>
Viram como é fácil? Coloquei comentários explicando o valor de $nota dentro de cada caso.