Resumo : neste tutorial, você aprenderá sobre o operador PHP AND e como usá-lo para construir uma expressão lógica complexa.
Introdução ao operador PHP AND
O operador lógico AND aceita dois operandos e retorna true
se ambos os operandos forem true
; caso contrário, ele retorna false
.
PHP usa a and
palavra-chave para representar o operador lógico AND:
expression1 and expression2
A tabela a seguir ilustra o resultado do and
operador:
expressão1 | expressão2 | expressão1 e expressão2 |
---|---|---|
true |
true |
true |
true |
false |
false |
false |
true |
false |
false |
false |
false |
Como as palavras-chave PHP não diferenciam maiúsculas de minúsculas, os operadores AND
e and
são os mesmos:
expression1 AND expression2
Por convenção, você deve usar o and
operador no formato minúsculo.
Além de usar a and
palavra-chave, o PHP usa &&
como operador lógico AND:
expression1 && expression2
Os operadores &&
e and
retornam o mesmo resultado. A única diferença entre os operadores &&
e and
são suas precedências.
O and
operador tem precedência mais alta que o &&
operador. A precedência de um operador especifica a ordem em que o PHP é avaliado.
Exemplos de operadores PHP AND
Suponha que você queira oferecer descontos aos clientes que compram mais de três itens com preço superior a 99. Para determinar se os clientes podem obter um desconto ou não, você pode usar o operador AND da seguinte forma:
<?php
$price = 100;
$qty = 5;
$discounted = $qty > 3 && $price > 99;
var_dump($discounted);
Linguagem de código: HTML, XML ( xml )
Saída:
bool(true)
Linguagem de código: JavaScript ( javascript )
Se você alterar $qty
para 2
, $discounted
ficará false
assim:
<?php
$price = 100;
$qty = 2;
$discounted = $qty > 3 && $price > 99;
var_dump($discounted);
Linguagem de código: HTML, XML ( xml )
Na prática, você usará o operador lógico AND nas instruções if , if-else , if-elseif , while e do-while .
Curto-circuito
Quando o valor do primeiro operando é false
, o operador lógico AND sabe que o resultado também deve ser false
. Neste caso, não avalia o segundo operando. Este processo é chamado de curto-circuito.
Veja o exemplo a seguir:
<?php
$debug = false;
$debug && print('PHP and operator demo!');
Linguagem de código: HTML, XML ( xml )
Como funciona.
- Primeiro, defina a variável
$debug
e inicialize-a comofalse
. - Segundo, use o operador lógico AND para combinar
$debug
andprint()
. Como$debug
éfalse
, o PHP não avalia a chamada para aprint()
função.
Se você alterar $debug
para true
, verá uma mensagem na saída:
<?php
$debug = true;
$debug && print('PHP and operator demo!');
Linguagem de código: HTML, XML ( xml )
Saída:
PHP and operator demo!
Linguagem de código: texto simples ( texto simples )
Resumo
- Use o operador PHP AND (
and
,&&
) para combinar duas expressões booleanas e retornará verdadeiro se ambas as expressões forem avaliadas como verdadeiras; caso contrário, ele retornafalse
. - O operador lógico AND está em curto-circuito.