Operadores lógicos operam com valores booleanos. Por isso, eles convertem valores para um Booleano antes de tentar a operação.
Verdadeiro true
, se ambos os operandos (valores a serem testados), forem verdadeiros.
<?php
$a = true;
$b = true;
var_dump($a && $b);
//Retorna: bool(true)
Este operador lógico é conhecido como: OU Inclusivo, e vai retornar true
se um dos operandos for verdadeiro, ou ambos.
<?php
$a = false;
$b = true;
var_dump($a || $b);
//Retorna: bool(true)
Este operador lógico é conhecido como: OU Exclusivo, e vai retornar true
se um dos operandos for verdadeiro, mas não ambos.
<?php
$a = true;
$b = true;
var_dump($a ^ $b);
//Retorna: int(0) zero, ou seja, falso, pois ambos os operandos é verdadeiro;
<?php
$a = true;
$b = false;
var_dump($a ^ $b);
//Retorna: int(1), ou seja, true, pois apenas um dos operandos é verdadeiro;
É um operador de negação.
<?php
$a = true;
var_dump(!$a);
//Retorna: bool(false), aqui negamos uma variável verdadeira e ela se tornou falsa.
Os símbolos &&
, ||
e ^
têm maior ordem de precedência, e são avaliados primeiro que and
, or
, e xor
.
Na prática eles fazem a mesma coisa, mas os símbolos sempre vão ser avaliados primeiro nas expressões, evite mistura-los.
- Nos exemplos deste tópico usamos a função
var_dump()
, caso você tenha esquecido como ela funciona, clica AQUI; - Lembre-se que:
0
éfalse
(falso) e1
étrue
(verdadeiro).
Ir para: 3.12 Operador de Execução