- An operator is a special symbol that tells the compiler to perform some task.

PHP offers various operators to perform different tasks.

We can divide them into the following categories based on their operations.

*Arithmetic Operators**Assignment Operators**Incrementing/Decrementing Operators**Relational Operators**Logical Operators**Array Operators**Concatenate operator*

### Arithmetic Operators

Arithmetic operators are used to perform arithmetic tasks such as addition, subtraction, division etc. Main operators in this category are as follow:

Operator |
Name |
Description |
Example |
Result |

x + y | Addition | Sum of x and y | 2 + 2 | 4 |

x – y | Subtraction | Difference of x and y | 5 – 2 | 3 |

x * y | Multiplication | Product of x and y | 5 * 2 | 10 |

x / y | Division | Quotient of x and y | 15 / 5 | 3 |

x % y | Modulus | Remainder of x divided by y | 5 % 2 10 % 8 10 % 2 |
1 2 0 |

– x | Negation | Opposite of x | – 2 | |

a . b | Concatenation | Concatenate two strings | “Hi” . “Ha” | HiHa |

### Assignment Operators

- Assignment operator is used to assign righ hand side value to left hand side variable.
- In PHP “=” is used as assignment operator. It means that the left operand gets the value of the expression on the right hand side.
- For example the following code will assign the value 10 to variable x

`$x = 10 ;`

- Some various forms of assignment are as follow:

Assignment |
Remark |
Description |

x = y | x = y | The left operand gets set to the value of the expression on the right |

x += y | x = x + y | Addition |

x -= y | x = x – y | Subtraction |

x *= y | x = x * y | Multiplication |

x /= y | x = x / y | Division |

x %= y | x = x % y | Modulus |

### Incrementing/Decrementing Operators

- Increment and decrement operator adds and subtracts to and from the current value by 1 respectively.
- Basic increment and decrement operators are “++” and “ –“.
- It has two forms:
*prefix*and*postfix*.

Operator |
Name |
Description |

++ x | Prefix | Increments x by one, then returns x |

x ++ | Postfix | Returns x, then increments x by one |

— x | Prefix | Decrements x by one, then returns x |

x — | Postfix | Returns x, then decrements x by one |

### Relational Operators

- Relational operators are used to compare two values.
- Some examples are as follow:

Operator |
Name |
Description |
Example |

x == y | Equal | True if x is equal to y | 5==8 returns false |

x === y | Identical | True if x is equal to y, and they are of same type | 5===”5″ returns false |

x != y | Not equal | True if x is not equal to y | 5!=8 returns true |

x <> y | Not equal | True if x is not equal to y | 5<>8 returns true |

x !== y | Not identical | True if x is not equal to y, or they are not of same type | 5!==”5″ returns true |

x > y | Greater than | True if x is greater than y | 5>8 returns false |

x < y | Less than | True if x is less than y | 5<8 returns true |

x >= y | Greater than or equal to | True if x is greater than or equal to y | 5>=8 returns false |

x <= y | Less than or equal to | True if x is less than or equal to y | 5<=8 returns true |

### Logical Operators

- Logical operators are used to perform logical task.

Operator |
Name |
Description |
Example |

x and y | And | True if both x and y are true | x=6 y=3 (x < 10 and y > 1) returns true |

x or y | Or | True if either or both x and y are true | x=6 y=3 (x==6 or y==5) returns true |

x xor y | Xor | True if either x or y is true, but not both | x=6 y=3 (x==6 xor y==3) returns false |

x && y | And | True if both x and y are true | x=6 y=3 (x < 10 && y > 1) returns true |

x || y | Or | True if either or both x and y are true | x=6 y=3 (x==5 || y==5) returns false |

! x | Not | True if x is not true | x=6 y=3 !(x==y) returns true |

### Array Operators

- Array operators are used to manipulate and perform different operations on array such as joining, equality check etc.
- Some examples are as follow:

Operator |
Name |
Description |

x + y | Union | Union of x and y |

x == y | Equality | True if x and y have the same key/value pairs |

x === y | Identity | True if x and y have the same key/value pairs in the same order and of the same types |

x != y | Inequality | True if x is not equal to y |

x <> y | Inequality | True if x is not equal to y |

x !== y | Non-identity | True if x is not identical to y |

### Concatenate Operator

In PHP we can use period (“.”) operator as a concatenate operator to join two strings.

For example:

```
$str1 = "Hello" ;
$str2 = "Welcome!" ;
echo $str2 . $str1 ;
```

- The above code will display “
by joining two strings str1 and str2.**Hello Welcome!”**