In this PHP tutorial, you will learn all about the operators in PHP. We will discuss in detail the types of operators.
PHP operators are the symbols that are used to perform the operation on the variable or value and evaluate the result. These values of variables are known as the operands. Statements that contain any of the operator and the operands are known as the expression.
The operators can be categorised into 3
The arithmetic operators are used to perform the basic arithmetic operations such as addition, subtraction, multiplication, etc.
Operator |
Name |
Description |
---|---|---|
+ |
Addition |
It is used to find the sum of the operands |
- |
Subtraction |
It is used to find the difference of the operands |
* |
Multiplication |
It is used to find the product of the operands |
/ |
Division |
It is used to find the quotient of the operands |
% |
Modulus |
It is used to find the reminder of the operands |
** |
Exponentiation |
It is used to find the second operand power of the first operands |
$a = 10;
$b = 4;
$sum = $a + $b; //Addition operator
$dif = $a - $b; //Subtraction operator
$pro = $a * $b; //Multiplication operator
$div = $a / $b; //Division operator
$rem = $a % $b; //Modulus operator
$pow = $a ** $b; //Exponentiation operator
echo $sum . "\n";
echo $dif . "\n";
echo $pro . "\n";
echo $div . "\n";
echo $rem . "\n";
echo $pow . "\n";
Output:
14 6 40 2.5 2 10000
The comparison operators are used to two values (operands) which can be strings or numbers.
Operator | Name | Description |
---|---|---|
== |
Equal |
It will return true if the both the operands values are equal |
=== |
Identical |
It will return true if the both the operands values and their data-types are equal |
!= |
Not Equal |
It will return true if the both the operands values are not equal |
<> |
Not Equal |
It will return true if the both the operands values are not equal |
!== |
Not Identical |
It will return true if the both the operands values and their data-types are not equal |
> |
Greater than |
It will return true if the operand on the left-hand side is greater than the operand on the right-hand side |
< |
Less than |
It will return true if the operand on the left-hand side is lesser than the operand on the right-hand side |
>= |
Greater than equal to |
It will return true if the operand on the left-hand side is greater than or equal to the operand on the right-hand side |
<= |
Less than equal to |
It will return true if the operand on the left-hand side is less than or equal to the operand on the right-hand side |
$a = 10;
$b = 4;
var_dump($a == $b) . "\n"; // Equal operator
var_dump($a === $b) . "\n"; // Identical operator
var_dump($a != $b) . "\n"; // Not Equal operator
var_dump($a <> $b) . "\n"; // Not Equal operator
var_dump($a !== $b) . "\n"; // Not Identical operator
var_dump($a > $b) . "\n"; // Greater than operator
var_dump($a < $b) . "\n"; // Less than operator
var_dump($a >= $b) . "\n"; // Greater than equal to operator
var_dump($a <= $b) . "\n"; // Less than equal to operator
Output:
bool(false) bool(false) bool(true) bool(true) bool(true) bool(true) bool(false) bool(true) bool(false)
The increment operator is used to increment the value of the operand by 1
The decrement operator is used to decrement the value of the operand by 1
Operator | Name | Description |
---|---|---|
++$a | Pre-increment | It will increment the value of the operand at first and then return the value |
$a++ | Post-increment | It will return the value at first and then increment the value of the operand |
--$a | Pre-decrement | It will decrement the value of the operand at first and then return the value |
$a++ | Post-decrement | It will return the value at first and then decrement the value of the operand |
$a = 10;
$b = 10;
$c = 10;
$d = 10;
echo ++$a . "\n"; // Pre-increment operator
echo $b++ . "\n"; // Post-increment operator
echo --$c . "\n"; // Pre-decrement operator
echo $d-- . "\n"; // Post-decrement operator
Output:
11 10 9 10
The assignment operator is used to assign the value of the operand in the right-hand side to the operand in the left-hand side.
Operator | Name | Description |
---|---|---|
= | Assign | It is used to assign the value of the operand in the right-hand side to the operand in the left-hand side |
+= | Add then assign | It first adds the value of two operands and then assign the result to the operand in left-hand side |
-= | Subtract then assign | It first subtracts the value of two operands and then assign the result to the operand in left-hand side |
*= | Multiply then assign | It first multiplies the value of two operands and then assign the result to the operand in left-hand side |
/= | Divide then assign(quotient) | It first divides the value of two operands and then assign the quotient to the operand in left-hand side |
%= | Divide then assign(reminder) | It first divides the value of two operands and then assign the reminder to the operand in left-hand side |
$a = 10;
$b = 10;
$c = 30;
$d = 8;
$e = 9;
$f = 4;
$x = $a; // assign operator
echo $x . "\n";
$b += $a; // Add then assign operator
echo $b . "\n";
$b -= $a; // Subtract then assign operator
echo $b . "\n";
$d *= $f; // Multiply then assign operator
echo $d . "\n";
$b /= $a; // Divide then assign(quotient) operator
echo $b . "\n";
$c %= $e; // Divide then assign(reminder) operator
echo $c . "\n";
Output:
10 20 10 32 1 3
In PHP to evaluate two expressions or statements, logic operators are used. The three basic logic operators are and, or and not. These operators control program flow in a boolean context similar to comparison operators. Boolean values are either True(1) or False(0).
Operator | Name | Description |
---|---|---|
and | And | It will return true if both hand sides values are true |
or | Or | It will return true if any hand sides values are true |
xor | Xor | It will return true if any hand sides values are true but not both are true |
&& | And | It will return true if both hand sides values are true |
|| | Or | It will return true if any hand sides values are true |
! | Not | It is a unary operator it will return true if the operand value if false and return false if the operand value is true |
$a = 10;
$b = 20;
var_dump($a == 10 and $b == 20) . "\n"; //And operator
var_dump($a == 10 or $b == 15) . "\n"; //Or operator
var_dump($a == 20 xor $b == 10) . "\n"; //Xor operator
var_dump($a == 18 && $b == 20) . "\n"; //And operator
var_dump($a == 10 || $b == 20) . "\n"; //Or operator
var_dump(!($a == 15)) . "\n"; //Not operator
Output:
bool(true) bool(true) bool(false) bool(false) bool(true) bool(true)
String operators in PHP are used to perform the operation on strings.
Operator | Name | Description |
. | Concatenation | It is used to concatenate two strings |
.= | Concatenate and assign | It is used to concatenate the both sides and assign the value to the left-hand side operand |
$a = "learnE";
$b = "tutorials.com";
echo $a . $b; // Concatenation operator
echo "\n";
$a .= $b; // Concatenate and assign operator
echo $a;
Output:
learnEtutorials.com learnEtutorials.com
PHP array operator are used to perform operations on the arrays. They are mostly used for the comparison of the array.
Operator | Name | Description |
---|---|---|
+ | Union | It is used to get the union of the two arrays |
== | Equality | It will return true if both the arrays are equal |
=== | Identical | It will return true if both the values of the array and their data-types are equal |
!= | Inequality | It will return true if both the arrays are not equal |
<> | Inequality | It will return true if both the arrays are not equal |
!== | Non-identical | It will return true if both the values of the array and their data-types are not equal |
$a = array("a" => "PHP", "b" => "Python");
$b = array("c" => "C++", "d" => "Java");
print_r($a + $b); // Union operator
var_dump($a == $b); // Equality operator
var_dump($a === $b); // Identical operator
var_dump($a != $b); // Inequality operator
var_dump($a <> $b); // Inequality operator
var_dump($a !== $b); // Non-identical operator
Output:
Array ( [a] => PHP [b] => Python [c] => C++ [d] => Java ) bool(false) bool(false) bool(true) bool(true) bool(true)
PHP conditional assignment operators are used to set values based on conditions.
Operator | Name | Description |
---|---|---|
?: | Ternary | It is similar to the if statement if. It checks the first expression if it is true, it returns the value of the second expression otherwise it returns the value of the third expression |
?? | Null coalescing | It checks for two expressions if the first expression is null or doesn’t exists then it will return the second expression, and if it do exists it will return first expression |
$age = 23;
echo $age > 18 ? "can vote" : "cant vote"; // Ternary operator
echo "\n";
echo $age ?? "no age given"; // Null coalescing operator
echo "\n";
echo $gender ?? "gender not given"; // Null coalescing operator
Output:
can vote 23 gender not given
The type operator in PHP ‘instanceof’ is used to determine whether an object, its parent and its derived class are the same type or not. Generally, this operator identifies the class an object belongs to.
class Abc
{
}
class Xyz
{
}
$value = new Abc();
var_dump($value instanceof Abc);
var_dump($value instanceof Xyz);
Output:
bool(true) bool(false)
In PHP the execution operator is used to perform the shell command.
Operator | Name | Description |
---|---|---|
`` | backticks | It is used to execute the shell command in PHP |
$path = `dir`;
echo $path;
// to find the path of the file
Output:
Volume in drive C is Acer Volume Serial Number is 16BF-2C7E Directory of C:\XAMPP FOLDER\htdocs\operators 03-11-2021 01:33 AM
The error control operator is used to ignore the error message formed by the expression. We use the symbol @ (at) as the error control operator.
$val = 76 / 0;
echo "Welcome to learnetutorials.com";
Output:
Warning: Division by zero in C:\XAMPP FOLDER\htdocs\MYPC\operators\comp.php on line 3 Welcome to learnetutorials.com
@$val = 76 / 0; // while trying to divide a number by 0 it gives error. By using the @ operator we can ignore the error message
echo "Welcome to learnetutorials.com";
Output:
Welcome to learnetutorials.com
The spaceship operator is more like the comparison operator. It will compare the operands and the value of the first operand is greater than the second operand it will return 1 , and if both the operands are same then it will return 0 otherwise it will return -1.
echo 10 <=> 5;
echo "\n";
echo 5 <=> 10;
echo "\n";
echo 5 <=> 5;
Output:
1 -1 0
The bitwise operators are used to perform bit-level operations on operands. These operators allow the evaluation and manipulation of specific bits within the integer.
Operator | Name | Description |
---|---|---|
& | And | If bit 1 is in both the operand then it will return 1, otherwise it will return 0 |
| | Or(Inclusive or) | If bit 1 is in any of the operand, then it will return 1, otherwise it will return 0 |
^ | Xor(Exclusive or) | If 1 or 0 in both the operands then it will be 0 otherwise it will be 1 |
~ | Not | If it is 1 then it returns 0, otherwise it returns 1 |
<< | Shift left | It shifts the value from right to left |
>> | Shift right | It shifts the value from left to right |
$a = 7;
$b = 5;
echo $a & $b; // bitwise and operator
echo "\n";
echo $a | $b; // bitwise or operator
echo "\n";
echo $a ^ $b; // bitwise xor operator
echo "\n";
echo ~$b; // bitwise not operator
echo "\n";
echo $a << $b; // bitwise shift left operator
echo "\n";
echo $a >> $b; // bitwise shift right operator
echo "\n";
Output:
5 7 2 -6 224 0