### Overview

The operator is a symbol that is used to execute operations on operands.

PHP divides the operators into the following groups:

- Arithmetic Operators
- Assignment Operators
- Bitwise Operators
- Comparison Operators
- Incrementing/Decrementing Operators
- Logical Operators
- String Operators
- Type Operators
- Error Control Operators

### Arithmetic Operators

Arithmetic operators are used to performing common arithmetic operations such as addition, subtraction, etc. with numeric values.

Operator | Name | Example | Explanation |
---|---|---|---|

+ | Addition | $a + $b | Sum of $a and $b |

- | Subtraction | $a - $b | A difference of $a and $b |

* | Multiplication | $a * $b | Product of $a and $b |

/ | Division | $a / $b | Quotient of $a and $b |

% | Modulus | $a % $b | The remainder of $a divided by $b |

** | Exponentiation | $a ** $b | Result of raising $a to the $b'th power |

### Assignment Operators

Operator | Name | Example | Explanation |
---|---|---|---|

= | Assign | $a = $b | The value of the right operand is assigned to the left operand. |

+= | Add then Assign | $a += $b | Addition same as $a = $a + $b |

-= | Subtract then Assign | $a -= $b | Subtraction same as $a = $a - $b |

*= | Multiply then Assign | $a *= $b | Multiplication same as $a = $a * $b |

/= | Divide then Assign (quotient) | $a /= $b | Find quotient same as $a = $a / $b |

%= | Divide then Assign (remainder) | $a %= $b | Find remainder same as $a = $a % $b |

### Bitwise Operators

The bitwise operators are used to perform bit-level operations on variables.

Operator | Name | Example | Explanation |
---|---|---|---|

& | And | $a & $b | Bits that are 1 in both $a and $b are set to 1, otherwise 0. |

| | Or (Inclusive or) | $a | $b | Bits that are 1 in either $a or $b are set to 1 |

^ | Xor (Exclusive or) | $a ^ $b | Bits that are 1 in either $a or $b are set to 0. |

~ | Not | ~$a | Bits that are 1 set to 0 and bits that are 0 are set to 1 |

### Comparison Operators

Comparison operators used to compare two values, such as number or string.

Operator | Name | Example | Explanation |
---|---|---|---|

== | Equal | $a == $b | Return TRUE if $a is equal to $b |

=== | Identical | $a === $b | Return TRUE if $a is equal to $b, and they are of same data type |

!== | Not identical | $a !== $b | Return TRUE if $a is not equal to $b, and they are not of same data type |

!= | Not equal | $a != $b | Return TRUE if $a is not equal to $b |

<> | Not equal | $a <> $b | Return TRUE if $a is not equal to $b |

< | Less than | $a < $b | Return TRUE if $a is less than $b |

> | Greater than | $a > $b | Return TRUE if $a is greater than $b |

<= | Less than or equal to | $a <= $b | Return TRUE if $a is less than or equal $b |

>= | Greater than or equal to | $a >= $b | Return TRUE if $a is greater than or equal $b |

<=> | Spaceship | $a <=>$b | Return -1 if $a is less than $b Return 0 if $a is equal $b Return 1 if $a is greater than $b |

### Incrementing/Decrementing Operators

The increment and decrement operators are used to increase and decrease the value of a variable.

Operator | Name | Example | Explanation |
---|---|---|---|

++ | Increment | ++$a | Increment the value of $a by one, then return $a |

$a++ | Return $a, then increment the value of $a by one | ||

-- | decrement | --$a | Decrement the value of $a by one, then return $a |

$a-- | Return $a, then decrement the value of $a by one |

### Logical Operators

The logical operators are used to perform bit-level operations on variables.

Operator | Name | Example | Explanation |
---|---|---|---|

and | And | $a and $b | Return TRUE if both $a and $b are true |

or | Or | $a or $b | Return TRUE if either $a or $b is true |

xor | Xor | $a xor $b | Return TRUE if either $ or $b is true but not both |

! | Not | ! $a | Return TRUE if $a is not true |

&& | And | $a && $b | Return TRUE if either $a and $b are true |

|| | Or | $a || $b | Return TRUE if either $a or $b is true |

### String Operators

The string operators are used to operate on strings.

Operator | Name | Example | Explanation |
---|---|---|---|

. | Concatenation | $a . $b | Concatenate both $a and $b |

.= | Concatenation and Assignment | $a .= $b | First concatenate $a and $b, then assign the concatenated string to $a, e.g. $a = $a . $b |

### Error Control Operators

PHP has one error control operator, i.e., at (@) symbol. Whenever it is used with an expression, any error message will be ignored that might be generated by that expression.

Operator | Name | Example | Explanation |
---|---|---|---|

@ | at | @file ('non_existent_file') | Intentional file error |