An operator is something that takes one or more values (or expressions, in programming jargon) and yields another value (so that the construction itself becomes an expression). Operators can be assembled by the quantity of qualities they take. Unary Operators take just a single esteem, for instance ! (the legitimate not Operators) or ++ (the augmentation Operators).
Binary Operators take two esteems, for example, the commonplace arithmetical Operators + (in addition to) and - (minus), and the greater part of PHP Operators fall into this class. At long last, there is a solitary ternary Operators, ? :, which takes three esteems; this is generally alluded to just as “the ternary administrator” (in spite of the fact that it could maybe more appropriately be known as the contingent Operators).
Below list will help php programming using Operators
PHP Operators - Manual: Table of Contents
PHP Arithmetic Operators
Example Name Result
+$a Identity
Conversion of $a to int or float as appropriate.
-$a Negation Opposite of $a.
$a + $b Addition Sum of $a and $b.
$a - $b Subtraction Difference of $a and $b.
$a * $b Multiplication Product of $a and $b.
$a / $b Division Quotient of $a and $b.
$a % $b Modulo Remainder of $a divided by $b.
$a ** $b Exponentiation Result of raising $a to the $b’th power. Introduced in PHP 5.6.
Demo
`<?php
echo (5 % 3)."\n"; // prints 2
echo (5 % -3)."\n"; // prints 2
echo (-5 % 3)."\n"; // prints -2
echo (-5 % -3)."\n"; // prints -2
?>`
PHP Assignment Operators
Assignment Same as… 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
Demo
`<?php
$x = 10;
echo $x;
// Output 10
$x = 20;
$x += 100;
echo $x;
// Output 120
$x = 50;
$x -= 30;
echo $x;
// Output 20
$x = 10;
$y = 6;
echo $x * $y;
// Output 60
$x = 10;
$x /= 5;
echo $x;
// Output 2
$x = 15;
$x %= 4;
echo $x;
// Output 3
?>`
PHP Bitwise Operators
Example Name Result
$a & $b
And
Bits that are set in both $a and $b are set.
$a | $b
Or (inclusive or)
Bits that are set in either $a or $b are set.
$a ^ $b
Xor (exclusive or)
Bits that are set in $a or $b but not both are set.
~ $a
Not
Bits that are set in $a are not set, and vice versa.
$a \<< $b
Shift left
Shift the bits of $a $b steps to the left (each step means “multiply by two”)
$a >> $b
Shift right
Shift the bits of $a $b steps to the right (each step means “divide by two”)
PHP Comparison Operators
Example Name Result
$a == $b
Equal
TRUE if $a is equal to $b after type juggling.
$a === $b Identical
TRUE if $a is equal to $b, and they are of the same
type.
$a != $b
Not equal
TRUE if $a is not equal to $b after type juggling.
$a <> $b
Not equal
TRUE if $a is not equal to $b after type juggling.
$a !== $b Not identical
TRUE if $a is not equal to $b, or they are not of the same
type.
$a < $b
Less than
TRUE if $a is strictly less than $b.
$a > $b
Greater than
TRUE if $a is strictly greater than $b.
$a <= $b
Less than or equal to
TRUE if $a is less than or equal to $b.
$a >= $b
Greater than or equal to
TRUE if $a is greater than or equal to $b.
$a <=> $b Spaceship
An integer less than, equal to, or greater than zero when $a is respectively less than, equal to, or greater than $b. Available as of PHP 7.
PHP Increment/decrement Operators
Example Name Effect
++$a Pre-increment Increments $a by one, then returns $a.
$a++ Post-increment Returns $a, then increments $a by one.
—$a Pre-decrement Decrements $a by one, then returns $a.
$a— Post-decrement Returns $a, then decrements $a by one.
Demo
`<?php
echo "<h3>Postincrement</h3>";
$a = 5;
echo "Should be 5: " . $a++ . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Preincrement</h3>";
$a = 5;
echo "Should be 6: " . ++$a . "<br />\n";
echo "Should be 6: " . $a . "<br />\n";
echo "<h3>Postdecrement</h3>";
$a = 5;
echo "Should be 5: " . $a-- . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
echo "<h3>Predecrement</h3>";
$a = 5;
echo "Should be 4: " . --$a . "<br />\n";
echo "Should be 4: " . $a . "<br />\n";
?>`
PHP Logical Operators
Example Name Result
$a and $b
And
TRUE if both $a and $b are TRUE.
$a or $b
Or
TRUE if either $a or $b is TRUE.
$a xor $b
Xor
TRUE if either $a or $b is TRUE, but not both.
! $a
Not
TRUE if $a is not TRUE.
$a && $b
And
TRUE if both $a and $b are TRUE.
$a || $b
Or
TRUE if either $a or $b is TRUE.
Demo Code
`<?php
// --------------------
// foo() will never get called as those operators are short-circuit
$a = (false && foo());
$b = (true || foo());
$c = (false and foo());
$d = (true or foo());
// --------------------
// "||" has a greater precedence than "or"
// The result of the expression (false || true) is assigned to $e
// Acts like: ($e = (false || true))
$e = false || true;
// The constant false is assigned to $f before the "or" operation occurs
// Acts like: (($f = false) or true)
$f = false or true;
var_dump($e, $f);
// --------------------
// "&&" has a greater precedence than "and"
// The result of the expression (true && false) is assigned to $g
// Acts like: ($g = (true && false))
$g = true && false;
// The constant true is assigned to $h before the "and" operation occurs
// Acts like: (($h = true) and false)
$h = true and false;
var_dump($g, $h);
?>`
The above example will output something similar to:
`bool(true)
bool(false)
bool(false)
bool(true)`
PHP String Operators
There are two string operators. The first is the concatenation operator (’.’), which returns the concatenation of its right and left arguments. The second is the concatenating assignment operator (’.=’), which appends the argument on the right side to the argument on the left side. Please read Assignment Operators for more information.
`<?php
$a = "Hello ";
$b = $a . "World!"; // now $b contains "Hello World!"
$a = "Hello ";
$a .= "World!"; // now $a contains "Hello World!"
?>`
PHP Array Operators
Example Name Result
$a + $b Union Union of $a and $b.
$a == $b
Equality
TRUE if $a and $b have the same key/value pairs.
$a === $b
Identity
TRUE if $a and $b have the same key/value pairs in the same
order and of the same types.
$a != $b
Inequality
TRUE if $a is not equal to $b.
$a <> $b
Inequality
TRUE if $a is not equal to $b.
$a !== $b
Non-identity
TRUE if $a is not identical to $b.
The + operator returns the right-hand array appended to the left-hand array; for keys that exist in both arrays, the elements from the left-hand array will be used, and the matching elements from the right-hand array will be ignored.
`<?php
$a = array("a" => "apple", "b" => "banana");
$b = array("a" => "pear", "b" => "strawberry", "c" => "cherry");
$c = $a + $b; // Union of $a and $b
echo "Union of \$a and \$b: \n";
var_dump($c);
$c = $b + $a; // Union of $b and $a
echo "Union of \$b and \$a: \n";
var_dump($c);
$a += $b; // Union of $a += $b is $a and $b
echo "Union of \$a += \$b: \n";
var_dump($a);
?>`
When executed, this script will print the following:
`Union of $a and $b:
array(3) {
["a"]=>
string(5) "apple"
["b"]=>
string(6) "banana"
["c"]=>
string(6) "cherry"
}
Union of $b and $a:
array(3) {
["a"]=>
string(4) "pear"
["b"]=>
string(10) "strawberry"
["c"]=>
string(6) "cherry"
}
Union of $a += $b:
array(3) {
'a' =>
string(5) "apple"
'b' =>
string(6) "banana"
'c' =>
string(6) "cherry"
}`