Nenhum produto encontrado nessa seleção.
Operadores lógicos em PHP servem para comparar expressões que podem, ou não, retornar valores verdadeiros (true) ou falsos (false). Normalmente você precisa de duas expressões (ou mais) para ter uma comparação lógica.
Um exemplo disso seria uma comparação na vida real, veja a frase:
Se o Brasil ganhar e fizer sol hoje, vou nadar.
Neste caso temos duas comparações na frase acima, "Se o Brasil ganhar" e "Se fizer sol". Neste caso, uma comparação lógica com o operador "E" (&& ou and) indicaria ao PHP que, se as duas expressões retornarem um valor verdadeiro (o Brasil ganhou e faz sol), a ação indicada deverá ser executada.
Nota: Você sempre vai utilizar estruturas de controle para verificar expressões.
Veja o exemplo acima no código PHP:
<?php if ( $brasil == 'ganhar' && $sol === true ) { echo 'Vou nadar.'; } ?>
Perceba acima que estou utilizando duas comparações (lembre-se dos operadores de comparação):
- Se (
if
) $brasil é igual (==
) a ganhar; - e (&&) – Este é um operador lógico;
- Se (
if
) $sol é idêntico (===
) a verdadeiro (true
);
Ambas estão ligadas pelo operador lógico && (significa o mesmo que "e" em português), isso indica que as duas expressões devem retornar true (verdadeiro) para aparecer "Vou nadar" na tela do usuário.
Existem vários operadores lógicos em PHP, veja na tabela a seguir.
Tabela de operadores lógicos em PHP
Esta tabela está disponível no próprio site do PHP.
Exemplo | Nome | Resultado |
---|---|---|
$a and $b | E (and) | Verdadeiro (TRUE ) se tanto $a quanto $b são verdadeiros. |
$a or $b | OU (or) | Verdadeiro se $a ou $b são verdadeiros. |
$a xor $b | XOR (xor) | Verdadeiro se $a ou $b são verdadeiros, mas não ambos. |
! $a | NÃO (!) | Verdadeiro se $a não é verdadeiro. |
$a && $b | E (&&) | Verdadeiro se tanto $a quanto $b são verdadeiros. |
$a || $b | OU (||) | Verdadeiro se $a ou $b são verdadeiros. |
Na tabela acima você pode ver que existem dois "E" e "OU", são eles:
- E = and ou &&
- Ou = or ou ||
Eles fazem a mesma coisa, porém, && e || têm maior precedência sobre and e or.
Você também pode perceber que existe um operador de negação – o exclamação – que funciona um pouco diferente dos outros operadores. Este operador não precisa de duas (ou mais expressões), você pode verificar uma expressão de negação com apenas uma expressão.
Por exemplo: Suponhamos que eu queira verificar se uma variável não existe.
<?php if ( ! isset( $variavel ) ) { echo 'Variável não existe.'; } ?>
Perceba que no trecho acima, o exclamação (!) muda a expressão para "Não", ou seja, "Se a variável NÃO está setada, mostra isto na tela".
Nota: Para verificar se uma variável existe, você pode utilizar a função isset do PHP.
Exemplos de operadores lógicos em PHP
Veja abaixo alguns exemplos que podem lhe ajudar a entender melhor:
<?php // Verifica se $a e (&&) $b são iguais a 1 if ( $a == 1 && $b == 1 ) { echo 'OK'; } // Verifica se $a OU (||) $b são iguais a 1 if ( $a == 1 || $b == 1 ) { echo 'OK'; } ?>
Nos dois casos acima estamos avaliando a mesma expressão; $a e $b iguais a 1. No primeiro caso, as duas expressões devem retornar true (verdadeiro), ou seja, $a E $b devem ser iguais a 1 para executar a ação. No segundo, $a OU $b precisam ter o valor igual a 1, se qualquer um dos dois tiver este valor, a ação será executada.
Aulas anteriores
Caso queira acessar os links para aulas anteriores:
- Introdução ao PHP – Aula 1
- Aspas, comentários e echo em PHP – Aula 2
- Variáveis em PHP – Aula 3
- Constantes em PHP – Aula 4
- Tipos de dados em PHP – Aula 5
- Arrays em PHP – Aula 6
- Operadores aritméticos em PHP – Aula 7
- Operadores de atribuição em PHP – Aula 8
- Operadores de comparação em PHP – Aula 9
- Operador de controle de erros em PHP – Aula 10
Veja todas as aulas, e mais, na categoria Curso de PHP do Tutsup.