PHP Operators
In this article, we will see how to use the operators in PHP, & various available operators along with
understanding their implementation through the examples.
Operators are used to performing operations on some values. In other words, we can describe operators as
something that takes some values, performs some operation on them, and gives a result. From example, “1 +
2 = 3” in this expression ‘+’ is an operator. It takes two values 1 and 2, performs an addition operation on
them to give 3.
Just like any other programming language, PHP also supports various types of operations like arithmetic
operations(addition, subtraction, etc), logical operations(AND, OR etc), Increment/Decrement Operations,
etc. Thus, PHP provides us with many operators to perform such operations on various operands or variables,
or values. These operators are nothing but symbols needed to perform operations of various types. Given
below are the various groups of operators:
Arithmetic Operators
Logical or Relational Operators
Comparison Operators
Conditional or Ternary Operators
Assignment Operators
Spaceship Operators (Introduced in PHP 7)
Array Operators
Increment/Decrement Operators
String Operators
Let us now learn about each of these operators in detail.
Arithmetic Operators:
The arithmetic operators are used to perform simple mathematical operations like addition, subtraction,
multiplication, etc. Below is the list of arithmetic operators along with their syntax and operations in PHP.
Operator Name Syntax Operation
+ Addition $x + $y Sum the operands
– Subtraction $x – $y Differences the operands
* Multiplication $x * $y Product of the operands
/ Division $x / $y The quotient of the operands
** Exponentiation $x ** $y $x raised to the power $y
% Modulus $x % $y The remainder of the operands
Note: The exponentiation has been introduced in PHP 5.6.
Example: This example explains the arithmetic operator in PHP.
<?php
// Define two numbers
$x = 10;
$y = 3;
// Addition
echo "Addition: " . ($x + $y) . "\n";
// Subtraction
echo "Subtraction: " . ($x - $y) . "\n";
// Multiplication
echo "Multiplication: " . ($x * $y) . "\n";
// Division
echo "Division: " . ($x / $y) . "\n";
// Exponentiation
echo "Exponentiation: " . ($x ** $y) . "\n";
// Modulus
echo "Modulus: " . ($x % $y) . "\n";
?>
Output
Addition: 13
Subtraction: 7
Multiplication: 30
Division: 3.3333333333333
Exponentiation: 1000
Modulus: 1
Logical or Relational Operators:
These are basically used to operate with conditional statements and expressions. Conditional statements are
based on conditions. Also, a condition can either be met or cannot be met so the result of a conditional
statement can either be true or false. Here are the logical operators along with their syntax and operations in
PHP.
Operator Name Syntax Operation
and Logical AND $x and $y True if both the operands are true else false
or Logical OR $x or $y True if either of the operands is true else false
xor Logical XOR $x xor $y True if either of the operands is true and false if both are true
&& Logical AND $x && $y True if both the operands are true else false
|| Logical OR $x || $y True if either of the operands is true else false
! Logical NOT !$x True if $x is false
Example: This example describes the logical & relational operator in PHP.
<?php
$x = 50;
$y = 30;
if ($x == 50 and $y == 30)
echo "and Success \n";
if ($x == 50 or $y == 20)
echo "or Success \n";
if ($x == 50 xor $y == 20)
echo "xor Success \n";
if ($x == 50 && $y == 30)
echo "&& Success \n";
if ($x == 50 || $y == 20)
echo "|| Success \n";
if (!$z)
echo "! Success \n";
?>
Output:
and Success
or Success
xor Success
&& Success
|| Success
! Success
Comparison Operators: These operators are used to compare two elements and outputs the result
in boolean form. Here are the comparison operators along with their syntax and operations in PHP.
Operator Name Syntax Operation
== Equal To $x == $y Returns True if both the operands are equal
!= Not Equal To $x != $y Returns True if both the operands are not equal
<> Not Equal To $x <> $y Returns True if both the operands are unequal
$x === Returns True if both the operands are equal and are of the
=== Identical
$y same type
Returns True if both the operands are unequal and are of
!== Not Identical $x == $y
different types
< Less Than $x < $y Returns True if $x is less than $y
> Greater Than $x > $y Returns True if $x is greater than $y
Less Than or Equal
<= $x <= $y Returns True if $x is less than or equal to $y
To
Greater Than or Equal
>= $x >= $y Returns True if $x is greater than or equal to $y
To
Example: This example describes the comparison operator in PHP.
<?php
$a = 80;
$b = 50;
$c = "80";
// Here var_dump function has been used to
// display structured information. We will learn
// about this function in complete details in further
// articles.
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)
bool(true)
Conditional or Ternary Operators :
These operators are used to compare two values and take either of the results simultaneously, depending on
whether the outcome is TRUE or FALSE. These are also used as a shorthand notation for if…else statement
that we will read in the article on decision making.
Syntax:
$var = (condition)? value1 : value2;
Here, the condition will either evaluate as true or false. If the condition evaluates to True, then value1 will be
assigned to the variable $var otherwise value2 will be assigned to it.
Operator Name Operation
If the condition is true? then $x : or else $y. This means that if the condition is true
?: Ternary
then the left result of the colon is accepted otherwise the result is on right.
Example: This example describes the Conditional or Ternary operators in PHP.
<?php
$x = -12;
echo ($x > 0) ? 'The number is positive' : 'The number is negative';
?>
Output:
The number is negative
Assignment Operators: These operators are used to assign values to different variables, with or
without mid-operations. Here are the assignment operators along with their syntax and operations,
that PHP provides for the operations.
Operator Name Syntax Operation
Operand on the left obtains the value of the operand
= Assign $x = $y
on the right
$x +=
+= Add then Assign Simple Addition same as $x = $x + $y
$y
-= Subtract then Assign $x -= $y Simple subtraction same as $x = $x – $y
$x *=
*= Multiply then Assign Simple product same as $x = $x * $y
$y
Divide then Assign
/= $x /= $y Simple division same as $x = $x / $y
(quotient)
Divide then Assign $x %=
%= Simple division same as $x = $x % $y
(remainder) $y
Example: This example describes the assignment operator in PHP.
<?php
// Simple assign operator
$y = 75;
echo $y, "\n";
// Add then assign operator
$y = 100;
$y += 200;
echo $y, "\n";
// Subtract then assign operator
$y = 70;
$y -= 10;
echo $y, "\n";
// Multiply then assign operator
$y = 30;
$y *= 20;
echo $y, "\n";
// Divide then assign(quotient) operator
$y = 100;
$y /= 5;
echo $y, "\n";
// Divide then assign(remainder) operator
$y = 50;
$y %= 5;
echo $y;
?>
Output:
75
300
60
600
20
0
Array Operators: These operators are used in the case of arrays. Here are the array operators along
with their syntax and operations, that PHP provides for the array operation.
Operator Name Syntax Operation
+ Union $x + $y Union of both i.e., $x and $y
== Equality $x == $y Returns true if both has same key-value pair
!= Inequality $x != $y Returns True if both are unequal
$x === Returns True if both have the same key-value pair in the same order
=== Identity
$y and of the same type
Non- $x !==
!== Returns True if both are not identical to each other
Identity $y
<> Inequality $x <> $y Returns True if both are unequal
Example: This example describes the array operation in PHP.
<?php
$x = array("k" => "Car", "l" => "Bike");
$y = array("a" => "Train", "b" => "Plane");
var_dump($x + $y);
var_dump($x == $y) + "\n";
var_dump($x != $y) + "\n";
var_dump($x <> $y) + "\n";
var_dump($x === $y) + "\n";
var_dump($x !== $y) + "\n";
?>
Output:
array(4) {
["k"]=>
string(3) "Car"
["l"]=>
string(4) "Bike"
["a"]=>
string(5) "Train"
["b"]=>
string(5) "Plane"
}
bool(false)
bool(true)
bool(true)
bool(false)
bool(true)
Increment/Decrement Operators: These are called the unary operators as they work on single
operands. These are used to increment or decrement values.
Operator Name Syntax Operation
++ Pre-Increment ++$x First increments $x by one, then return $x
— Pre-Decrement –$x First decrements $x by one, then return $x
++ Post-Increment $x++ First returns $x, then increment it by one
— Post-Decrement $x– First returns $x, then decrement it by one
Example: This example describes the Increment/Decrement operators in PHP.
<?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: This operator is used for the concatenation of 2 or more strings using the
concatenation operator (‘.’). We can also use the concatenating assignment operator (‘.=’) to append
the argument on the right side to the argument on the left side.
Operator Name Syntax Operation
. Concatenation $x.$y Concatenated $x and $y
.= Concatenation and assignment $x.=$y First concatenates then assigns, same as $x = $x.$y
Example: This example describes the string operator in PHP.
<?php
$x = "Geeks";
$y = "for";
$z = "Geeks!!!";
echo $x . $y . $z, "\n";
$x .= $y . $z;
echo $x;
?>
Output:
GeeksforGeeks!!!
GeeksforGeeks!!!
Spaceship Operators:
PHP 7 has introduced a new kind of operator called spaceship operator. The spaceship operator or combined
comparison operator is denoted by “<=>“. These operators are used to compare values but instead of
returning the boolean results, it returns integer values. If both the operands are equal, it returns 0. If the right
operand is greater, it returns -1. If the left operand is greater, it returns 1. The following table shows how it
works in detail:
Operator Syntax Operation
$x < $y $x <=> $y Identical to -1 (right is greater)
$x > $y $x <=> $y Identical to 1 (left is greater)
$x <= $y $x <=> $y Identical to -1 (right is greater) or identical to 0 (if both are equal)
$x >= $y $x <=> $y Identical to 1 (if left is greater) or identical to 0 (if both are equal)
$x == $y $x <=> $y Identical to 0 (both are equal)
$x != $y $x <=> $y Not Identical to 0
Example: This example illustrates the use of the spaceship operator in PHP.
<?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 = "Ram";
$y = "Krishna";
echo $x <=> $y;
echo "\n";
echo $x <=> $y;
echo "\n";
echo $y <=> $x;
?>
Output:
0
1
-1
1
1
-1