Summary: in this tutorial, you’ll learn about the PHP AND operator and how to use it to build a complex logical expression.
Introduction to the PHP AND operator #
The logical AND operator accepts two operands and returns true
if both operands are true
; otherwise, it returns false
.
PHP uses the and
keyword to represent the logical AND operator:
expression1 and expression2
The following table illustrates the result of the and
operator:
expression1 | expression2 | expression1 and expression2 |
---|---|---|
true | true | true |
true | false | false |
false | true | false |
false | false | false |
Since PHP keywords are case-insensitive, the AND
and and
operators are the same:
expression1 AND expression2
By convention, you should use the and
operator in the lowercase format.
In addition to using the and
keyword, PHP uses &&
as the logical AND operator:
expression1 && expression2
The &&
and and
operators return the same result. The only difference between the &&
and and
operators are their precedences.
The and
operator has higher precedence than the &&
operator. The precedence of an operator specifies the order in which PHP evaluates.
PHP AND operator examples #
Suppose you want to offer discounts to customers who buy more than three items at a price of more than 99. To determine whether customers can get a discount or not, you can use the AND operator as follows:
<?php
$price = 100;
$qty = 5;
$discounted = $qty > 3 && $price > 99;
var_dump($discounted);
Code language: HTML, XML (xml)
Output:
bool(true)
Code language: JavaScript (javascript)
If you change the $qty
to 2
, the $discounted
will be false
like this:
<?php
$price = 100;
$qty = 2;
$discounted = $qty > 3 && $price > 99;
var_dump($discounted);
Code language: HTML, XML (xml)
In practice, you’ll use the logical AND operator in the if, if-else, if-elseif, while, and do-while statements.
Short-circuiting #
When the value of the first operand is false
, the logical AND operator knows that the result must also be false
. In this case, it doesn’t evaluate the second operand. This process is called short-circuiting.
See the following example:
<?php
$debug = false;
$debug && print('PHP and operator demo!');
Code language: HTML, XML (xml)
How it works.
- First, define the variable
$debug
and initialize it tofalse
. - Second, use the logical AND operator to combine the
$debug
andprint()
. Since$debug
isfalse
, PHP doesn’t evaluate the call to theprint()
function.
If you change the $debug
to true
, you’ll see a message in the output:
<?php
$debug = true;
$debug && print('PHP and operator demo!');
Code language: HTML, XML (xml)
Output:
PHP and operator demo!
Code language: plaintext (plaintext)
Summary #
- Use the PHP AND operator (
and
,&&
) to combine two boolean expressions and return true if both expressions evaluate to true; otherwise, it returnsfalse
. - The logical AND operator is short-circuiting.