Operators are used to perform operations on PHP variables and simple values.

In PHP there are total 7 types of operators, they are:

- Arithmetic Operators
- Assignment Operators
- Comparison Operators
- Increment/Decrement Operators
- Logical Operators
- String Operators
- Array Operators

There are a few additional operators as well like, Type operator, Bitwise operator, Execution operators etc.

Based on how these operators are used, they are categorised into 3 categories:

**Unary Operators**: Works on a single operand(variable or value).**Binary Operators**: Works on two operands(variables or values).**Ternary Operators**: Works on three operands.

These operators are used to perform basic arithmetic operations like addition, multiplication, division, etc.

Name | Operator | What does it do? | Example |
---|---|---|---|

Addition | `+` | It is used to perform normal addition. | $a + $b |

Subtraction | `-` | It is used to perform normal subtraction. | $a - $b |

Multiplication | `*` | It is used to perform multiplication. | $a * $b |

Division | `/` | It is used to perform division. | $a / $b |

Exponent | `**` | It returns the first operand raised to the power the second operand. `$a ** $b = $a` | $a ** $b |

Modulus(or, Remainder) | `%` | It returns the remainder of first operand divided by the second operand | $a % $b |

Assignment operators are used to assign values to variables, either as it is or after performing some arithmetic operation on it. The most basic assignment operator is **equal to**`=`

.

Operator | Usage |
---|---|

`=` | `$a = $b` , will save the value of variable `$b` to the variable `$a` |

`+-` | `$a += $b` is same as `$a + $b` |

`-=` | `$a -= $b` is same as `$a - $b` |

`*=` | `$a *= $b` is same as `$a * $b` |

`/=` | `$a /= $b` is same as `$a / $b` |

`%=` | `$a %= $b` is same as `$a % $b` |

So basically, the assignment operator provides us with shorthand techniques to perform arithmetic operations.

As the name suggest, these are used to compare two values.

Name | Operator | What does it do? | Example |
---|---|---|---|

Equal | `==` | It returns `true` if left operand is equal to the right operand. | $a == $b |

Identical | `===` | It returns `true` if left operand is equal to the right operand and they are of the same type. | $a === $b |

Not Equal | `!=` | It returns `true` if left operand is not equal to the right operand. | $a != $b |

Not Identical | `!==` | It returns `true` if left operand is not equal to the right operand, and they are of different type as well. | $a !== $b |

Greater than | `>` | It returns `true` if left operand is greater than the right operand. | $a > $b |

Less than | `<` | It returns `true` if left operand is less than the right operand. | $a < $b |

Greater than or equal to | `>=` | It returns `true` if left operand is greater than or equal to the right operand. | $a >= $b |

Less than or equal to | `<=` | It returns `true` if left operand is less than or equal to the right operand. | $a <= $b |

These operators are **unary operators**, i.e they require only one operand.

Operator | Usage |
---|---|

`++$a` | Pre Increment, It will first increment the operand by `1` (add one to it) and then use it or return it. |

`$a++` | Post Increment, It will first return the operand and then increment the operand by `1` . |

`--$b` | Pre Decrement, It will first decrement the operand by `1` (subtract one from it) and then use it or return it. |

`$b--` | Post Decrement, It will first return the operand and then decrement the operand by `1` . |

These operators are very useful and handy when use loops or when we have simply increment any value by one in our program/script.

Logical operators are generally used when any action depends on two or more conditions.

Name | Operator | What does it do? | Example |
---|---|---|---|

And | `and` or `&&` | It returns true if both the operands(or expressions) returns true. | $a && $b |

Or | `or` or `||` | It returns true if any one out of the two operands(or expressions) returns true, or both return true. | $a || $b |

Xor | `xor` | It returns true if any one out of the two operands(or expressions) returns true, but not when both return true. | $a xor $b |

Not | `!` | This is a unary operator. It returns true, if the operand(or expression) returns false. | !$a |

String operators are used to perform operations on string. There are only two string operators, generally PHP built-in functions are used to perform various operations on strings, we will learn about them in coming tutorials.

Name | Operator | What does it do? | Example |
---|---|---|---|

Concatenation | `.` (a dot) | It is used to concatenate(join together) two strings. | $a.$b |

Concatenation Assignment | `.=` | It is used to append one string to another. | $a .= $b |

Here we have a simple example to demonstrate the usage of both the string operators.

```
<?php
$a = "study";
$b = "tonight";
// concatenating $a and $b
echo $a.$b;
// appending $b to $a
$a .= $b
echo $a;
?>
```

studytonight studytonight

These operators are used to compare arrays.

Name | Operator | What does it do? | Example |
---|---|---|---|

Equal | `==` | It returns `true` if both the arrays have same key/value pairs. | $a == $b |

Identical | `===` | It returns `true` if both the arrays have same key/value pairs, in same order and of same type. | $a === $b |

Not Equal | `!=` | It returns `true` if both the arrays are not same. | $a != $b |

Not Identical | `!==` | It returns `true` if both the arrays are not identical, based on type of value etc. | $a !== $b |

Union(Join) | `+` | It joins the arrays together | $a + $b |