Tutorial Belajar PHP Part 23: Pengertian dan Jenis-jenis Operator Perbandingan dalam PHP

Dalam tutorial kali ini kita akan mempelajari jenis dan cara penggunaan operator perbandingan (Comparison Operators) dalam PHP.


Pengertian Operator Perbandingan dalam PHP

Sesuai dengan namanya, operator perbandingan membandingkan nilai dari 2 operand. Hasilnya selalu salah satu dari TRUE atau FALSE. Hasil perbandingan akan bernilai TRUE jika kondisi perbandingan tersebut benar, atau FALSE jika kondisinya salah.

Operand untuk operator perbandingan ini bisa berupa tipe data angka (integer atau float), maupun bertipe string. Operator perbandingan akan memeriksa nilai dan (untuk beberapa operator) juga tipe data dari operand.


Jenis-jenis Operator Perbandingan dalam PHP

Jenis-jenis dari operator perbandingan dalam PHP dapat dilihat dari tabel dibawah ini:

Tabel Jenis Operator Perbandingan PHP

Dikarenakan operasi perbandingan dapat memiliki operan berupa angka dan string, PHP memiliki aturan sebagai berikut:

Aturan Operator Perbandingan PHP

Dari tabel diatas dapat dilihat bahwa selain membandingkan angka dengan angka, PHP juga membolehkan perbandingan angka dengan string, array, bahkan objek. Namun dalam prakteknya kita akan sering membandingkan angka.


Cara Penggunaan Operator Perbandingan di dalam PHP

Berikut adalah beberapa contoh penggunaan operator perbandingan dalam PHP:

<?php
echo "1. 12 < 14 = "; var_dump(12<14); // bool(true) 
echo "<br />";

echo "2. 14 < 14 = "; var_dump(14<14); // bool(false)
echo "<br />";

echo "3. 14 <= 14 = "; var_dump(14<=14); // bool(true) 
echo "<br />";

echo "4. 10 <> '10' = "; var_dump(10<>'10'); // bool(false) 
echo "<br />";

echo "5. 10 == '10' = "; var_dump(10=='10'); // bool(true) 
echo "<br />";

echo "6. 10 === '10' = "; var_dump(10==='10'); // bool(false) 
echo "<br />";

echo "7. '150' == '1.5e2' = "; var_dump('150'=='1.5e2'); // bool(true) 
echo "<br />";

echo "8. 'duniailkom' == 0 = "; var_dump('duniailkom'==0); // bool(true) 
echo "<br />";
?>

Cara Penggunaan Operator Perbandingan di dalam PHPDalam contoh kode PHP diatas, saya menggunakan fungsi var_dump() untuk melihat hasil dari perbandingan. Contoh 1 sampai 3 merupakan operasi perbandingan aritmatika biasa.

Pada contoh ke 4, 10 <> '10' = FALSE, karena PHP menganggap kedua operand adalah sama, sehingga jika diberikan operator tidak sama dengan (<>), maka hasilnya FALSE. Perhatikan bahwa tipe data kedua angka berbeda, saya menambahkan tanda petik untuk membuah string '10', namun PHP mengkonversinya menjadi integer 10 ketika membandingkan (sesuai aturan tabel diatas).

Pada contoh ke 5, 10 == '10' = TRUE, karena alasan yang sama dengan penjelasan contoh ke 4. String '10' dikonversi terlebih dahulu menjadi angka, lalu dibandingkan, sehingga hasilnya menjadi TRUE.

Untuk contoh ke 6, 10 === '10' = FALSE, karena operator === selain membandingkan nilai, juga membandingkan tipe data dari opearand, sehingga string '10' dianggap tidak sama dengan integer 10. Hal ini berbeda dengan contoh ke 5.

Untuk contoh ke 7, '150' == '1.5e2' = TRUE, karena seluruh string yang berupa angka dikonversi menjadi angka terlebih dahulu, dan  '1.5e2' adalah penulisan scientific dari 1,5 x 10^2, yang hasilnya adalah 150.  Namun sama seperti contoh ke 6, jika kita mengganti operator '==' dengan '===', maka hasilnya akan FALSE.

Pada contoh terakhir, no 8. Saya membandingkan string dengan angka, sehingga string 'duniailkom' dikonversi menjadi integer bernilai 0, dan baru disamakan dengan operan kedua, yakni angka 0. Karena 0==0, maka hasilnya = TRUE.


Operator perbandingan ini sering digunakan untuk kondisi IF, misalkan jika $nama_user ada di dalam database, maka jalankan kode program. Lebih lanjut tentang penggunaan operator perbandingan, akan kita bahas pada tutorial lanjutan.

10 Comments

  1. Anonymous
    17 Feb 15
    • Andre
      17 Feb 15
  2. marco
    04 Sep 15
    • Andre
      06 Sep 15
  3. Anonymous
    16 May 17
  4. Yudhi
    12 Sep 19
    • Andre
      14 Sep 19
  5. Jimmy
    27 Jan 21
    • Andre
      28 Jan 21

Add Comment

Leave a Reply to Anonymous Cancel reply