Open In App

What is the difference between the | and || or operator in php?

Improve
Improve
Improve
Like Article
Like
Save Article
Save
Share
Report issue
Report

‘|’ Operator

It is a bitwise OR operator. This operator is used to set the bits of operands if either a or b or both are set. It means the value of the bit will be set to 1.

A B A | B
0 0 0
0 1 1
1 0 1
1 1 1

Syntax:

$a | $b

Program:




<?php
$a = 3;
$b = 10;
echo $a | $b;
?>


Output:

11

Explanation:
In above example, given two values, a = 3 and b = 10. Then convert both the numbers into binary number i.e a = 0011 and b = 1010. Apply OR (|) operation and compute the value of $a | $b.

‘||’ Operator

This is the logical OR operator. This operator is used to do the OR operation. If either of the bits will be 1, then the value of OR will be 1.
Syntax:

$a || $b

Program:




<?php
$a = 3;
$b = 10;
if($a = 3 || $b = 0)
    echo '1';
else
    echo '0';
?>


Output:

1

Explanation: Here the values for the variables are set. Check if either of the condition is true or not, since the value of a in the if statement is true as it is set to be 3, the OR operator will execute to be true and ‘1’ will be displayed.

Note The key difference in the working of the two operators and the nature are same. The bitwise OR operator sets the bit value whereas the logical OR operator sets true or 1 if either one of the conditions/bit value is 1 else it sets false or 0.


Last Updated : 15 Oct, 2018
Like Article
Save Article
Previous
Next
Share your thoughts in the comments
Similar Reads