Operator Pada PHP

Operator PHP digunakan untuk melakukan operasi pada variabel dan nilai. Sebagaimana operator terdiri dari simbol-simbol yang memiliki kegunaan untuk manipulasi data dan perintah tergantung pada simbol yang digunakan. Anda bisa belajar lebih jauh di PHP: Operators - Manual.

Daftar isi:

Catatan: Jika Anda melihat pada tabel ada operator yang miring berarti itu operator yang penting untuk pelajari, contoh +.

Operator Presedensi

Operator Presedensi atau Precedence adalah urutan operator yang menentukan bagaimana dua ekspresi bersamaan yang akan lebih dulu di proses. Misalnya, jika Anda ingin menyelasaikan ekspresi matematika 10 - 5 * 2 pasti yang Anda lakukan ialah mengkalikan * dulu baru di menguranginya -. Saya tidak terlalu lebar untuk menejaskan tentang urutan operator ini, baca lebih lengkap disini Operator Precedence

Operator Aritmatika

Aritmatika adalah operator yang ditunjukan untuk proses aritmatika seperti penjumlahan, pengurangan, perkalian, dan lainnya. Sebagaimana ini sudah Anda pelajari sejak masa Sekolah. Lihat tabel berikut:

Operator Nama Contoh Deskripsi
+ Penjumlahan $a + $b $a ditambah $b
- Pengurangan $a - $b $a ditambah $b
* Perkalian $a * $b $a ditambah $b
/ Pembagian $a / $b $a ditambah $b
% Modulus $a % $b $a ditambah $b
** Eskonensial $a ** $b Hasil dari menaikan $a menjadi pangkat $b

Berikut ini contoh aritmatikanya:

$a = 10;
$b = 5;

echo $a + $b; // 15
echo $a - $b; // 5
echo $a * $b; // 50
echo $a / $b; // 2
echo $a % $b; // 0
echo $a ** $b; // 100000

Operator Penugasan

Operator Penugasan digunakan dengan nilai numerik untuk menulis nilai ke variabel. Operator penugasan pada dasarnya memiliki operator = cenderung mungkin Anda menganggapnya sebagai sama dengan, tentu saja tidak demikian. Operator = artinya operan kiri diatur ke nilai ekspresi tugas di sebelah kanan, contoh $a = $b.

Operator Penugasan Aritmatika

Operator Contoh Setara
+= $a += $b $a = $a + $b
-= $a -= $b $a = $a - $b
*= $a *= $b $a = $a * $b
/= $a /= $b $a = $a / $b
%= $a %= $b $a = $a % $b

Operator Penugasan Bitwise

Operator Nama Contoh Setara
&= Bitwise And $a &= $b $a = $a & $b
|= Bitwise Or $a |= $b $a = $a | $b
^= Bitwise Xor $a ^= $b $a = $a ^ $b
<<= Left Shift $a <<= $b $a = $a << $b
>>= Right Shift $a >>= $b $a = $a >> $b

Catatan: Anda bisa melewati materi ini, karena cukup jarang digunakan.

Operator Penugasan Lainnya

Kalau yang satu ini saya sering menggunakannya baik .= untuk menyatuhkan string dan ??= melakukan kondisi.

Operator Nama Contoh Setara
.= String Concatenation $a .= $b $a = $a . $b
??= Null Coalesce $a ??= $b $a = $a ?? $b

Contoh Operator Penugasan

$a = 10;
$b = 5;

// penugasan aritmatika
$a += $b; // 15
$a -= $b; // 5

// penugasan lainnya
$a .= $b; // 105

Catatan: Jangan mengeluarkan nilai tersebut sekaligus, Anda harus satu-satu. Jika tidak nilai yang keluar tidak sama dengan contoh di atas.

Operator Bitwise

Operator bitwise memungkinkan evaluasi dan manipulasi bit tertentu dalam sebuah integer. Lihat tabel berikut:

Operator Nama Contoh Deskripsi
& And $a & $b Bit yang diatur di $a dan $b ditetapkan
| Or $a | $b Bit yang diatur di $a atau $b diatur
^ And $a ^ $b Bit yang diatur di $a atau $b tetapi tidak keduanya
~ And ~ $a Bit yang diatur di $a tidak diatur dan sebaliknya
<< And $a << $b Geser bit dari $a $b ke kiri (setiap langkah berarti "kalikan dengan dua")
>> And $a >> $b Geser bit dari $a $b ke kanan (setiap langkah berarti "bagi dua")

Catatan: Operator ini sangat jarang saya temukan di beberapa projek PHP.

Operator Perbandingan

Operator perbandingan mungkin saja Anda sudah tahu penggunaan dari operator ini nantinya. Sesuai dengan namanya operator ini digunakan untuk membandingkan antara dua nilai. Perhatikan tabel berikut:

Operator Nama Contoh Deskripsi
== Sama $a == $b Jika $a sama dengan $b maka true
=== Identik $a === $b Jika $a sama dengan $b dan nilai identik maka true
!= Tidak sama $a != $b Jika $a tidak sama dengan $b maka true
<> Tidak sama $a <> $b Jika $a tidak sama dengan $b maka true
!== Tidak identik $a !== $b Jika $a tidak identik dengan $b maka true
< Kurang dari $a < $b Jika $a kurang dari $b maka true
> Besar dari $a > $b Jika $a besar dari $b maka true
<= Kurang dari atau sama dengan $a <= $b Jika $a kurang dari atau sama dengan $b maka true
>= Besar dari atau sama dengan $a >= $b Jika $a Besar dari atau sama dengan $b maka true
<=> Spaceship (Pesawat ruang angkasa) $a <=> $b Bilangan bulat kurang dari, sama dengan, atau lebih besar dari nol jika $a masing-masing kurang dari, sama dengan, atau lebih besar dari $b. Tersedia mulai PHP 7.
$a = 10;
$b = 5;

var_dump($a > $b); // true

Catatan: Anda bisa mencontohkan sendiri dengan mengubah parameter > dengan yang lainnya.

Operator Increment/Decrement

Operator increment yaitu setiap nilai di tambah satu dan sedangkan decrement akan di kurang satu. lihat tabel berikut:

Operator Nama Contoh
++ Menambahkan satu (increment) $a++ atau ++$a
-- Mengurangi satu (decrement) $a-- atau --$a

Penjelasan:

$a++ mengembalikan nilai $a, lalu menambahkan $a dengan nilai satu.

++$a menambahkan $a dengan nilai satu, lalu mengembalikan nilai $a.

$a-- mengembalikan nilai $a, lalu mengurangi $a dengan nilai satu.

--$a mengurangi $a dengan nilai satu, lalu mengembalikan nilai $a.

$a = 10;

echo $a++; // 10
echo ++$a; // 11    

Catatan: Keluarkan nilainya satu persatu agar sesuai dengan contoh, kalau tidak hasil ++$a akan menjadi 12. Kenapa hal ini bisa terjadi? Karena $a++ di kembalikan dulu nilainya baru di tambahkan sedangkan ++$a ditambahkan dulu barus di kembalikan nilainya.

Operator Logika

Operator logika memungkinkan untuk melakukan validasi antara dua kondisi, sangat penting untuk di pelajari karena akan ada banyak kondisi yang akan di lalui saat membuat proyek PHP. Lihat tabel berikut:

Operator Nama Contoh Deskripsi
and And $a and $b Jika $a dan $b benar maka true
or Or $a or $b Jika $a atau $b benar maka true
xor Xor $a xor $b Jika $a atau $b benar maka true, tetapi tidak keduanya
&& And $a && $b Jika $a dan $b benar maka true
|| Or $a || $b Jika $a atau $b benar maka true
! Not !$a Jika $a tidak benar maka true
$and = true && true; // true
$or = true || false; // true
$not = !true; // false

var_dump($and, $or, $not);

Operator String

Operator string digunakan khusus untuk string di PHP. Lihat tabel berikut:

Operator Nama Contoh Deskripsi
. Penggabungan $a . $b Menggabungkan argumen kenan dan kiri
.= tugas penggabungan $a .= $b Menambahkan argumen sisi kanan ke argumen sisi kiri
$a = "Halo ";
$b = $a. "Dunia!"; // $b berisi Halo Dunia!

$a = "Halo ";
$a .= "Dunia!"; // $a berisi Halo Dunia!

Operator Array

Operator array digunakan khusus untuk kondisi dan pembandingan terhadap array. Lihat tabel berikut ini:

Operator Nama Contoh Deskripsi
+ Penggabungan $a + $b Menggabungkan $a dan $b
== Persamaan $a == $b Jika $a dan $b nilainya sama maka true
=== Identik $a === $b Jika $a dan $b nilainya identik sama maka true
!= Ketidaksamaan $a != $b Jika $a tidak sama $b maka true
<> Ketidaksamaan $a <> $b Jika $a tidak sama $b maka true
!== Tidak identik $a !== $b Jika $a tidak identik dengan $b maka true
$a = array('a' => 'Jeruk', 'b' => 'Mangga');
$b = array('c' => 'Durian', 'd' => 'Melon');

$c = $a + $b;

var_dump($c);

/*
Hasilnya:
array(4) {
    ["a"]=>
    string(5) "Jeruk"
    ["b"]=>
    string(6) "Mangga"
    ["c"]=>
    string(6) "Durian"
    ["d"]=>
    string(5) "Melon"
}
*/

Berikut cara mudahnya dan lebih simpel dari pada yang diatas.

$a = array('Jeruk', 'Mangga');
$b = array('Durian', 'Melon', ...$a);

var_dump($b);

Catatan: Saya menguji cara diatas menggunakan php v7.4, saya belum menguji apapun di versi sebelumnya.

Operator ternary

Operator ternary adalah operator bersyarat yang mengurangi panjang kode saat melakukan perbandingan dan kondisi. Metode ini adalah alternatif untuk menggunakan pernyataan if-else dan pernyataan if-else bersarang. Urutan eksekusi untuk operator ini dari kiri ke kanan. Cara ini adalah cara terbaik untuk opsi hemat waktu dalam pengodean. Lihat contoh berikut ini:

// cara lama
$a = 10;
if ($a >= 10) {
  echo 'benar';
} else {
  echo 'salah';
}

// cara baru
$a = 10;
echo $a >= 10 ? 'benar' : 'salah'; // benar

Catatan: (kondisi) ? (pernyataan1) : (pernyataan2);.

Ada cara lain yang mungkin suatu saat Anda akan membutuhkannya, lihat contohnya dibawah ini:

$angka ?: 0;
// (kondisi) ? (pernyataan1) : (pernyataan2);

$angka ?? 0;
// (kondisi) ? (pernyataan1) ? (pernyataan2);

Catatan: Jadi pada contoh diatas, jika variabel $angka tidak ada maka akan mengembalikan angka 0 dan begitu sebaliknya.

Operator Nullsafe

Operator ini digunakan untuk PHP v8 saya harap Anda tidak menggunakannya di versi sebelumnya. Saya akan berikan contoh berdasarkan keterangan resmi dari situs PHP, berikut contohnya:

// PHP 7
$country =  null;

if ($session !== null) {
  $user = $session->user;

  if ($user !== null) {
    $address = $user->getAddress();
 
    if ($address !== null) {
      $country = $address->country;
    }
  }
}

// PHP 8
$country = $session?->user?->getAddress()?->country;

Catatan: Hal ini sangat luar biasa untuk dicoba karena membutuhkan kode yang relatif sedikit dan mudah dibaca.

Belajar PHP Untuk Pemula


1. Pengenalan PHP

2. Membuat dan Menjalankan File PHP

3. Sintak dan Penulisan Komentar PHP

4. Penulisan Variabel dan Konstanta PHP

5. Echo dan Print PHP

6. Tipe Data Pada PHP

7. Operator Pada PHP

8. Pernyataan if, else, elseif, nested if Pada PHP

9. Pernyataan Switch Pada PHP

10. Perulangan for, while, do while Pada PHP

11. Array Pada PHP

12. Perulangan Foreach Pada PHP

13. Break dan Continue Pada PHP