'AND' vs '&&' operators in PHP

In PHP, both AND and && perform logical AND operations, but they differ significantly in operator precedence. The AND operator has lower precedence than the assignment operator (=), while && has higher precedence, which can lead to different results in the same expression.

Basic AND Operator Example

The AND operator works as expected in conditional statements ?

<?php
    $val1 = 55;
    $val2 = 65;
    if ($val1 == 55 and $val2 == 65)
        echo "Result = True";
    else
        echo "Result = False";
?>
Result = True

Basic && Operator Example

The && operator produces the same result in simple conditions ?

<?php
    $val1 = 110;
    $val2 = 110;
    if ($val1 == 110 && $val2 == 110)
        echo "Result = True";
    else
        echo "Result = False";
?>
Result = True

Precedence Difference Example

Here's where the operators behave differently due to precedence rules ?

<?php
    // AND has lower precedence than =
    $bool = TRUE and FALSE;  // Assigns TRUE first, then evaluates TRUE AND FALSE
    echo ($bool ? 'true' : 'false'), "<br>";
    
    // && has higher precedence than =
    $bool = TRUE && FALSE;   // Evaluates TRUE && FALSE first, then assigns FALSE
    echo ($bool ? 'true' : 'false');
?>
true
false

Operator Precedence Comparison

Operator Precedence vs = Result in Assignment
AND Lower Assignment happens first
&& Higher Logical operation happens first

Conclusion

Use && for most logical operations as it follows expected precedence rules. Reserve AND for specific cases where you need its lower precedence behavior.

Updated on: 2026-03-15T08:17:16+05:30

2K+ Views

Kickstart Your Career

Get certified by completing the course

Get Started
Advertisements