PHP – Operators
PHP Arithmetic Operators
<?php
$x=10;
$y=6;
echo ($x + $y); // outputs 16
echo ($x - $y); // outputs 4
echo ($x * $y); // outputs 60
echo ($x / $y); // outputs 1.6666666666667
echo ($x % $y); // outputs 4
?>
Assignement Operators
<?php
$x=10;
echo $x; // outputs 10
$y=20;
$y += 100;
echo $y; // outputs 120
$z=50;
$z -= 25;
echo $z; // outputs 25
$i=5;
$i *= 6;
echo $i; // outputs 30
$j=10;
$j /= 5;
echo $j; // outputs 2
$k=15;
$k %= 4;
echo $k; // outputs 3
?>
String Operators
<?php
$a = "Hello";
$b = $a . " world!";
echo $b; // outputs Hello world!
$x="Hello";
$x .= " world!";
echo $x; // outputs Hello world!
?>
Increment/Decrement Operators
<?php
$x=10;
echo ++$x; // outputs 11 first -> the increment starts
echo ++$x; // outputs 12 -> the incrementt continues...
$y=10;
echo $y++; // outputs 10 first -> the value in the same
echo $y++; // outputs 11 second -> the increment starts
$z=5;
echo --$z; // outputs 4 first -> the decrement starts
echo --$z; // outputs 3 second -> the decrement continues...
$i=5;
echo $i--; // outputs 5 first -> the value in the same
echo $i--; // outputs 4 second -> the decrement starts
?>
Comparison Operators
== Equal $x == $y True if $x is equal to $y
=== Identical $x === $y True if $x is equal to $y, and they are of the same type
!= Not equal $x != $y True if $x is not equal to $y
<> Not equal $x <> $y True if $x is not equal to $y
!== Not identical $x !== $y True if $x is not equal to $y, or they are not of the same type
> Greater than $x > $y True if $x is greater than $y
< Less than $x < $y True if $x is less than $y
>= Greater than or equal to $x >= $y True if $x is greater than or equal to $y
<= Less than or equal to $x <= $y True if $x is less than or equal to $y
[php]
<?php
$x=100; // It is an integer number
$y="100"; // It is a string
var_dump($x == $y); // Output: bool(true)
echo "<br>";
var_dump($x === $y); // Output: bool(false)
echo "<br>";
var_dump($x != $y); // Output: bool(false)
echo "<br>";
var_dump($x !== $y); // Output: bool(true)
echo "<br>";
$a=50;
$b=90;
var_dump($a > $b); // Output: bool(false)
echo "<br>";
var_dump($a < $b); // Output: bool(true)
?>
[/php]
Logical Operators
and And $x and $y True if both $x and $y are true
or Or $x or $y True if either $x or $y is true
xor Xor $x xor $y True if either $x or $y is true, but not both
&& And $x && $y True if both $x and $y are true
|| Or $x || $y True if either $x or $y is true
! Not !$x True if $x is not true
Array Operators
+ Union $x + $y Union of $x and $y (but duplicate keys are not overwritten)
== Equality $x == $y True if $x and $y have the same key/value pairs
=== Identity $x === $y True if $x and $y have the same key/value pairs in the same order and of the same types
!= Inequality $x != $y True if $x is not equal to $y
<> Inequality $x <> $y True if $x is not equal to $y
!== Non-identity $x !== $y True if $x is not identical to $y
<?php
$x = array("a" => "red", "b" => "green");
$y = array("c" => "blue", "d" => "yellow");
$z = $x + $y;
var_dump($z); // Output: array(4) { ["a"]=> string(3) "red" ["b"]=> string(5) "green" ["c"]=> string(4) "blue" ["d"]=> string(6) "yellow" }
var_dump($x == $y); // Output: bool(false)
var_dump($x === $y); // Output: bool(false)
var_dump($x != $y); // Output: bool(true)
var_dump($x <> $y); // Output: bool(true)
var_dump($x !== $y); // Output: bool(true)
?>