PHP : Operator

Operator adalah simbol yang memberi tahu prosesor PHP untuk melakukan tindakan tertentu. Misalnya, simbol penambahan ( + ) adalah operator yang memberi tahu PHP untuk menambahkan dua variabel atau nilai, sedangkan simbol lebih besar dari ( > ) adalah operator yang memberi tahu PHP untuk membandingkan dua nilai.

Daftar berikut menjelaskan berbagai operator yang digunakan dalam PHP.

Operator Aritmatika PHP

Operator aritmatika digunakan untuk melakukan operasi aritmetika umum, seperti penambahan, pengurangan, penggandaan (multiplication), dll. Berikut adalah daftar lengkap operator aritmatika PHP:

OperatorDescriptionExampleResult
+Addition$x + $ySum of $x and $y
-Subtraction$x - $yDifference of $x and $y.
*Multiplication$x * $yProduct of $x and $y.
/Division$x / $yQuotient of $x and $y
%Modulus$x % $yRemainder of $x divided by $y

Contoh berikut akan menunjukkan kepada kalian bagaimana operator aritmatika ini bekerja:

<?php
$x = 10;
$y = 4;
echo($x + $y); // 0utputs: 14
echo($x - $y); // 0utputs: 6
echo($x * $y); // 0utputs: 40
echo($x / $y); // 0utputs: 2.5
echo($x % $y); // 0utputs: 2
?>
Operator Assignment PHP

Operator assignment digunakan untuk menetapkan nilai ke variabel.

OperatorDescriptionExampleIs The Same As
=Assign$x = $y$x = $y
+=Add and assign$x += $y$x = $x + $y
-=Subtract and assign$x -= $y$x = $x - $y
*=Multiply and assign$x *= $y$x = $x * $y
/=Divide and assign quotient$x /= $y$x = $x / $y
%=Divide and assign modulus$x %= $y$x = $x % $y

Contoh berikut akan menunjukkan kepada kalian bagaimana operator assignment ini bekerja:

<?php
$x = 10;
echo $x; // Outputs: 10
 
$x = 20;
$x += 30;
echo $x; // Outputs: 50
 
$x = 50;
$x -= 20;
echo $x; // Outputs: 30
 
$x = 5;
$x *= 25;
echo $x; // Outputs: 125
 
$x = 50;
$x /= 10;
echo $x; // Outputs: 5
 
$x = 100;
$x %= 15;
echo $x; // Outputs: 10
?>

Operator Perbandingan PHP

Operator pembanding digunakan untuk membandingkan dua nilai secara Boolean.

OperatorNameExampleResult
==Equal$x == $yTrue if $x is equal to $y
===Identical$x === $yTrue if $x is equal to $y, and they are of the same type
!=Not equal$x != $yTrue if $x is not equal to $y
<>Not equal$x <> $yTrue if $x is not equal to $y
!==Not identical$x !== $yTrue if $x is not equal to $y, or they are not of the same type
<Less than$x < $yTrue if $x is less than $y
>Greater than$x > $yTrue if $x is greater than $y
>=Greater than or equal to$x >= $yTrue if $x is greater than or equal to $y
<=Less than or equal to$x <= $yTrue if $x is less than or equal to $y

Contoh berikut akan menunjukkan kepada kalian bagaimana operator perbandingan ini bekerja:

<?php
$x = 25;
$y = 35;
$z = "25";
var_dump($x == $z);  // Outputs: boolean true
var_dump($x === $z); // Outputs: boolean false
var_dump($x != $y);  // Outputs: boolean true
var_dump($x !== $z); // Outputs: boolean true
var_dump($x < $y);   // Outputs: boolean true
var_dump($x > $y);   // Outputs: boolean false
var_dump($x <= $y);  // Outputs: boolean true
var_dump($x >= $y);  // Outputs: boolean false
?>
Operator Penambahan (Incrementing) dan Pengurangan (Decrementing) PHP

Operator penambahan / pengurangan digunakan untuk menambah / mengurangi nilai variabel.

OperatorNameEffect
++$xPre-incrementIncrements $x by one, then returns $x
$x++Post-incrementReturns $x, then increments $x by one
--$xPre-decrementDecrements $x by one, then returns $x
$x--Post-decrementReturns $x, then decrements $x by one

Contoh berikut akan menunjukkan kepada kalian bagaimana operator penambahan dan pengurangan ini bekerja:

<?php
$x = 10;
echo ++$x; // Outputs: 11
echo $x;   // Outputs: 11
 
$x = 10;
echo $x++; // Outputs: 10
echo $x;   // Outputs: 11
 
$x = 10;
echo --$x; // Outputs: 9
echo $x;   // Outputs: 9
 
$x = 10;
echo $x--; // Outputs: 10
echo $x;   // Outputs: 9
?>
Operator Logical PHP 

Operator logis biasanya digunakan untuk menggabungkan pernyataan conditional.

OperatorNameExampleResult
andAnd$x and $yTrue if both $x and $y are true
orOr$x or $yTrue if either $x or $y is true
xorXor$x xor $yTrue if either $x or $y is true, but not both
&&And$x && $yTrue if both $x and $y are true
||Or$x || $yTrue if either $$x or $y is true
!Not!$xTrue if $x is not true

Contoh berikut akan menunjukkan kepada kalian bagaimana operator logis ini bekerja:

<?php
$year = 2014;
// Leap years are divisible by 400 or by 4 but not 100
if(($year % 400 == 0) || (($year % 100 != 0) &amp;&amp; ($year % 4 == 0))){
    echo "$year is a leap year.";
} else{
    echo "$year is not a leap year.";
}
?>
Operator String PHP

Ada dua operator yang secara khusus dirancang untuk string.

OperatorDescriptionExampleResult
.Concatenation$str1 . $str2Concatenation of $str1 and $str2
.=Concatenation assignment$str1 .= $str2Appends the $str2 to the $str1

Contoh berikut akan menunjukkan kepada kalian bagaimana operator string ini bekerja:

<?php
$x = "Hello";
$y = " World!";
echo $x . $y; // Outputs: Hello World!
 
$x .= $y;
echo $x; // Outputs: Hello World!
?>
Operator Array PHP

Operator array digunakan untuk membandingkan array:

OperatorNameExampleResult
+Union$x + $yUnion of $x and $y
==Equality$x == $yTrue if $x and $y have the same key/value pairs
===Identity$x === $yTrue if $x and $y have the same key/value pairs in the same order and of the same types
!=Inequality$x != $yTrue if $x is not equal to $y
<>Inequality$x <> $yTrue if $x is not equal to $y
!==Non-identity$x !== $yTrue if $x is not identical to $y

Contoh berikut akan menunjukkan kepada kalian bagaimana operator array ini bekerja:

<?php
$x = array("a" => "Red", "b" => "Green", "c" => "Blue");
$y = array("u" => "Yellow", "v" => "Orange", "w" => "Pink");
$z = $x + $y; // Union of $x and $y
var_dump($z);
var_dump($x == $y);   // Outputs: boolean false
var_dump($x === $y);  // Outputs: boolean false
var_dump($x != $y);   // Outputs: boolean true
var_dump($x <> $y);   // Outputs: boolean true
var_dump($x !== $y);  // Outputs: boolean true
?>
Operator PHP Spaceship PHP 7

PHP 7 memperkenalkan operator spaceship yang baru (<=>) yang dapat digunakan untuk membandingkan dua expression. Ia juga dikenal sebagai operator perbandingan gabungan.

Operator spaceship mengembalikan 0 jika kedua operand sama, 1 jika kiri lebih besar, dan -1 jika kanan lebih besar. Ini pada dasarnya menyediakan perbandingan three-way seperti yang ditunjukkan pada tabel berikut:

Operator<=> Equivalent
$x < $y($x <=> $y) === -1
$x <= $y($x <=> $y) === -1 || ($x <=> $y) === 0
$x == $y($x <=> $y) === 0
$x != $y($x <=> $y) !== 0
$x >= $y($x <=> $y) === 1 || ($x <=> $y) === 0
$x > $y($x <=> $y) === 1

Contoh berikut akan menunjukkan kepada kalian bagaimana operator spaceship ini bekerja:

<?php
// Comparing Integers 
echo 1 <=> 1; // Outputs: 0
echo 1 <=> 2; // Outputs: -1
echo 2 <=> 1; // Outputs: 1
 
// Comparing Floats
echo 1.5 <=> 1.5; // Outputs: 0
echo 1.5 <=> 2.5; // Outputs: -1
echo 2.5 <=> 1.5; // Outputs: 1
 
// Comparing Strings
echo "x" <=> "x"; // Outputs: 0
echo "x" <=> "y"; // Outputs: -1
echo "y" <=> "x"; // Outputs: 1
?>