# PHP Operators

### 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