Operators perform operations on the variables. Operators are symbols that tell the PHP compiler to perform specific actions. In this unit, we study how to perform the operations on the variables using operators in PHP.
Read Also: PHP Constants
Operators in PHP
Operators are the symbol that tells the processor to perform some actions. For example, the operator (+) tells PHP to add two variables. PHP operators perform operations on variables or values. An operator takes values, which are known as operands and perform operations on them and gives a result. PHP borrows most of its operators from Perl and C. Just like various other programming languages, PHP also supports multiple operators.
The following are the most common operators used in PHP.
 Arithmetic Operators
 Logical or relational operators
 Comparison Operators
 Conditional or ternary Operators
 Assignment Operators
 Spaceship Operators
 Array Operators
 Increment/Decrement Operators
 String Operators
We can also categorize the operators on behalf of operands. They categorize in 3 forms.
 Unary Operators: Works on single operand such as ++, — etc.
 Binary Operators: Works on two operands such as +,,*, etc.
 Ternary operators: Works on three operands such as “?:”.
A detail Description about each of these Operators:
Arithmetic Operators
The arithmetic operators require numeric values, and nonnumeric values are converted automatically to numeric values. It Performs simple mathematical operations such as addition, Subtraction, etc.
Operator  Name  Example  Description 
+  Addition  $a + $b  Sum of $a & $b 
–  Subtraction  $a – $b  Difference of $a & $b 
*  Multiplication  $a * $b  Product of $a & $b 
/  Division  $a / $b  Quotient of $a & $b 
%  Modulus  $a % $b  Remainder of $a divided by $b 
**  Exponentiation  $a ** $b  $a raised to the power $y 
Example
<?php $a=20; $b=10; echo ($a+$b), “\n”; echo($a$b), “\n”; echo ($a*$b), “\n”; echo ($a/$b), “\n”; echo (a % b), “\n”; ?>
Output
30 10 200 2 5
Logical or Relational Operators
Logical Operators help to build the logical expressions. They operate with conditional statements. Condition can either be met or not, so the result of the conditional statement can be either true or false.
Operator  Name  Example  Description 
And  AND  $a and $b  It returns a value of TRUE if both its operands are true. 
Or  OR  $a or $b  It returns a value of true if either of its operands is true. 
xor  XOR  $a xor $b  True if either $x or $z is real but not both 
&&  AND  $a && $b  It returns a value of TRUE if both its operand is right. 
  OR  $a  $b  It returns a value of true if either of its operands is true. 
!  NOT  !$a  It returns a value of true when $a is not true. 
Example
<?php $a = 50; $b = 30; if ($a == 50 and $b == 30) echo "and Success \n"; if ($a == 50 or $b == 20) echo "or Success \n"; if ($a == 50 xor $b == 20) echo "xor Success \n"; if ($a == 50 && $b == 30) echo "&& Success \n"; if ($a == 50  $b == 20) echo " Success \n"; if (!$c) echo "! Success \n"; ?>
Output
and Success or Success xor Success && Success  Success ! Success
Comparison Operators
PHP Provides comparison operator to compare to two operands. It returns, either true or false. If the comparison is correct; it returns true. Otherwise, it returns false.
Operator  Name  Example  Description 
==  Equal  $a == $b  It returns a value of true if $a is equal to $b 
===  Identical  $a === $b  It returns a value of true if $a is equal to $b, and both are of the same type. 
!=  Not equal  $a != $b  It returns a value of true if $a is not equal to $b 
<>  Not equal  $a <> $b  It returns a value of true if $a is not equal to $b 
! ==  Not identical  $a !== $b  It returns a value of true if $a is not equal to $b and both are not of same type 
<  Less than  $a < $b  It returns a value of true if $a is greater than $b 
>  Greater than  $a > $b  It returns a value of true if $a is less than $b 
>=  Greater than or equal to  $a >= $b  It returns a value of true if $a is greater than or equal to $b 
<=  Less than or equal to  $a <= $b  It returns a value of true if $a is less than or equal to $b 
Example
<?php $a = 80; $b = 50; $c = "80"; var_dump($a == $c) + "\n"; var_dump($a != $b) + "\n"; var_dump($a <> $b) + "\n"; var_dump($a === $c) + "\n"; var_dump($a !== $c) + "\n"; var_dump($a < $b) + "\n"; var_dump($a > $b) + "\n"; var_dump($a <= $b) + "\n"; var_dump($a >= $b); ?>
Output
bool(true) bool(true) bool(true) bool(false) bool(true) bool(false) bool(true) bool(false)
Conditional or Ternary Operators
This operator first evaluates an expression true or false and then execute one of the two given statements depending upon the result of the evaluation.
Syntax
$var = (condition)? value1 : value2;
Here condition will either true or false. The value one will be assigned to $var if the condition evaluates to True, otherwise value two assign to it.
Operator  Name  Description 
?:  Ternary  If the condition is true? Then $x: or else $y. It means if the condition is true, then left the result of the colon is accepted, otherwise the result on the right.

Example
<?php $a = 12; echo (ax > 0) ? 'The number is positive' : 'The number is negative'; ?>
Output
The number is negative.
Assignment Operator
It assigns a value to the variables. Operand on the left side is always a variable, and the operand on the right side can be a literal value, variable, expression, or function call that returns a value.
Operator  Name  Example  Description 
=  Assign  $a = $b  Assign the result 
+=  Add and assign  $a += $b  Adds two numbers and assign the result to the first 
=  Subtract and assign  $a = $b  Subtracts two numbers and assign the result to the first 
*=  Multiply and assign  $a *= $b  Multiply two numbers and assign the result to the first 
/=  Divide and assign quotient  $a /= $b  Divide two numbers and assign the result to the first 
%=  Divide and assign modulus  $a %= $b  Computes the modulus of two numbers and assign the result to the first 
Example
<?php // simple assign operator $a = 75; echo $a, "\n"; // add then assign operator $a = 100; $a += 200; echo $a, "\n"; // subtract then assign operator $a = 70; $a = 10; echo $a, "\n"; // multiply then assign operator $a = 30; $a *= 20; echo $a, "\n"; // Divide then assign(quotient) operator $a = 100; $a /= 5; echo $a, "\n"; // Divide then assign(remainder) operator $a = 50; $a %= 5; echo $a; ?>
Output
75 300 60 600 20 0
Array Operator
The array operators and functions act on the entire array. We can perform operations on array using Array operators.
Operator  Name  Example  Description 
+  Union  $a + $b  Union of $a & $b 
==  Equality  $a == $b  It returns the value of true if $a & $b have the same key/value pair. 
===  Identity  $a === $b  It returns the value of true if $a & $b have the same key/value pair in the same order and of the same type 
!=  Inequality  $a != $b  It returns true value if $a is not equal to $b 
<>  Inequality  $a <> $b  It returns true value if $a is not equal to $b 
!==  Nonidentity  $a! = $b  It returns true value if $a is not identical to $b 
Example
<?php $a = array("a" => "Red", "b" => "Green", "c" => "Blue"); $b = array("u" => "Yellow", "v" => "Orange", "w" => "Pink"); $c = $a + $b; var_dump($c); var_dump($a == $b); var_dump($a === $b); var_dump($a != $b); var_dump($a <> $b); var_dump($a !== $b); ?>
Output
boolean false boolean false boolean true boolean true boolean true
Increment/Decrement Operators
Increment (++) and decrement () operators give you a quick way to increase and decrease the value of a variable by 1.
Operator  Name  Description 
++$a  Pre increment  Increments $a by one , then returns $a 
$a++  Post increment  Return $a then increments $a by one 
–$a  Pre decrement  Decrements $a by one , then returns $a 
$x–  Post decrement  Return $a then decrements $a by one 
Example
<?php $x = 2; echo ++$x, " First increments then prints \n"; echo $x, "\n"; $x = 2; echo $x++, " First prints then increments \n"; echo $x, "\n"; $x = 2; echo $x, " First decrements then prints \n"; echo $x, "\n"; $x = 2; echo $x, " First prints then decrements \n"; echo $x; ?>
Output
3 First increments then prints 3 2 First prints then increments 3 1 First decrements then prints 1 2 First prints then decrements 1
String Operators
There are two operators for strings. These operators can be executed over strings.
Operator  Name  Example  Description 
.  Concatenation  $str 1 . $str2  Concates $str1 and $str2 
.=  Concatenation Assignment  $str1 . = $str2  Appends $str1 to the $str2 
Example
<?php $x = "How"; $y = "are"; $z = "you!!!"; echo $x. $y. $z, "\n"; $x.= $y. $z; echo $x; ?>
Output:
How are you!!! How are you!!!
Spaceship Operator
PHP 7 brought a new operator called spaceship operator (<=>). It Compares two expressions. It is also called a combined comparison operator. This operator is similar to strcmp(). This operator uses with integers , floats,strings,arrays,objects etc.
 If values on either side are equal, it returns 0.
 If the value on the left side is greater, it returns 1.
 It returns 1 if the value on the right is greater.
Example
<?php $x = 50; $y = 50; $z = 25; echo $x <=> $y; echo "\n"; echo $x <=> $z; echo "\n"; echo $z <=> $y; echo "\n"; // We can do the same for Strings $x = "Suman"; $y = "Hello"; echo $x <=> $y; echo "\n"; echo $x <=> $y; echo "\n"; echo $y <=> $x; ?>
Output
0 1 1 1 1 1
Execution Operator
PHP has an execution operator backticks (“). PHP executes the content of backticks as a shell command. Execution operator and shell_exec() give the same result.
Operator  Name  Example  Description 
“  Backticks  echo `dir`;  Executes the shell command and returns the result.
In the example, it will show the directories available in the existing folder. 
Error Control Operators
PHP has one error control operator, i.e., at (@) symbol. Whenever it uses an expression, any error message will be ignored that might be generated by that expression.
Operator  Name  Example  Description 
@  At  @file (‘nonexistent file’)  File Error 
PHP Operators Precedence
The operator’s precedence decides which order the operator evaluates in an expression. Each operator is assigned a precedence. Some operators have equal precedence, e.g., the precedence of the add( +) and subtract( ) is equal. However, some operators have higher precedence than others, e.g., the precedence of the multiply operator ( *) is higher than the precedence of the add( +) and the subtract ( ) operators.
For example, x = 7 + 3 * 2; Here, x is assigned 13, not 20 because operator * has higher precedence than +, so it first gets multiplied with 3*2 and then adds into 7.
Operator  Name  Associativity 
clone new  Clone and new  NonAssociative 
[  Array  Left 
**  Arithmetic  Right 
++ — ~ (int) (float) (string) (array) (object) (bool) @  Increment / decrement and types  Right 
Instance of  Types  Nonassociative 
!  logical (negation)  Right 
* / %  Arithmetic  Left 
+ – .  arithmetic and string concatenation  Left 
<< >>  bitwise (shift)  Left 
< <= > >=  Comparison  nonassociative 
== != === !== <>  Comparison  nonassociative 
&  bitwise AND  Left 
^  bitwise XOR  Left 
  bitwise OR  Left 
&&  logical AND  Left 
  logical OR  Left 
?:  Ternary  Left 
= += = *= **= /= .= %= &= = ^= <<= >>= =>  Assignment  Right 
And  Logical  Left 
Xor  Logical  Left 
Or  Logical  Left 
,  many uses (comma)  Left 
Conclusion
Operators are used with variables for various actions or with functions for changing previously declared values.
Operators divides into seven groups based on their purpose: arithmetic, comparison, assignment, increment or decrement, string, logical, and array.
I hope you have a better understanding of PHP Operators.