Pengertian Operator Logika dalam PHP
Operator Logika adalah operator yang digunakan untuk membandingkan 2 kondisi logika, yaitu logika benar (
TRUE) dan logika salah (
FALSE)
. Operator logika sering digunakan untuk 
kodisi IF, atau untuk keluar dari proses perulangan (
looping).
Jenis 
operand dalam 
operator logika ini adalah variabel dengan tipe 
boolean. Namun jika 
operand bukan boolean, akan “
dikonversi” menjadi boolean oleh PHP (aturan “
konversi” ini telah kita bahas pada tutorial tentang 
tipe data boolean PHP).
Jenis-jenis Operator Logika dalam PHP
Jenis-jenis operator logika dalam PHP dapat dilihat dari tabel berikut:
Perbedaan dari operator 
AND dengan 
&&, dan 
OR dengan 
|| terkait dengan cara penulisan dan aturan “
kekuatan” operator. Operator 
&& dan 
|| memiliki “
kekuatan” lebih tinggi dari pada 
AND dan 
OR, sehingga baris perintah: 
$a AND $b || $c, akan dieksekusi oleh PHP menjadi
 $a AND ($b || $c).
Dari tabel diatas, saya hanya memberikan hasil untuk kondisi 
TRUE, maka selain kondisi tersebut, hasilnya adalah 
FALSE.
Cara Penggunaan Operator Logika di dalam PHP
Berikut adalah contoh kode program, cara penggunaan operator logika dalam PHP:
 
  
<?php 
$hasil1 =
true and false; 
echo
'$hasil1 = '; 
echo
var_dump($hasil1)."<br/>";
// $hasil1 = bool(true)  
$hasil2 =
(true and false); 
echo
'$hasil2 = '; 
echo
var_dump($hasil2)."<br/>";
// $hasil2 = bool(false)  
$hasil3 =
(true xor false); 
echo
'$hasil3 = '; 
echo
var_dump($hasil3)."<br/>";
// $hasil3 = bool(true)  
$hasil4 =
(false or true && false); 
echo
'$hasil4 = '; 
echo
var_dump($hasil4)."<br/>";
// $hasil4 = bool(false)  
$a=true; 
$b=false; 
$hasil5 =
($a and $b || $a or b); 
echo
'$hasil5 = '; 
echo
var_dump($hasil5); //
$hasil5 = bool(true) 
?> | 
  | 
 
 
Saya akan membahas kode program diatas:
Pada baris 2, 
operasi logika yang dijalankan adalah 
$hasil1 = true and false, yang harusnya 
$hasil1 akan bernilai 
false (berdasarkan prinsip operator 
and: jika salah satu saja ada yang false, maka hasilnya adalah false)
Namun seperti yang terlihat dalam tampilan saat program dijalankan, variabel 
$hasil1 bernilai 
true!. Apa yang sebenarnya terjadi? Hal ini kembali kepada prinsip urutan 
prioritas operator.
Jika anda perhatikan tabel urutan operator pada tutorial.. operator 
assigment (pendefenisian variabel) yaitu menggunakan tanda sama dengan (=) memiliki priotitas lebih tinggi dari pada operator logika 
and. Sehingga yang sebenarnya diproses adalah 
($hasil1 = true) and false, sehingga 
$hasil1 akan bernilai 
true.
Kesalahan pemograman seperti ini akan sulit dideteksi, sehingga anda 
disarankan menggunakan tanda kurung untuk menegaskan urutan program.
Pada baris ke-6, untuk variabel 
$hasil2 saya mengulangi 
operasi yang sama dengan baris 2, namun kali ini dengan menggunakan 
tanda kurung untuk memberitahukan kepada PHP bahwa 
operasi logikalah yang harus dijalankan pertama kali, baru setelah itu proses 
assigment yang kali ini berjalan sebagaimana harusnya (
true and 
false menghasilkan 
false). Dan variabel 
$hasil2 bernilai 
false.
Pada baris ke-10, variabel 
$hasil3 bernilai true, karena operator 
xor akan menghasilkan 
true apabila salah satu operand bernilai 
true.
Untuk baris ke-14, 
$hasil4 = (false or true && false), urutan proses operasi dimulai terlebih dahulu pada operator 
&& karena memiliki urutan prioritas lebih tinggi daripada operator 
or, sehingga yag diproses oleh PHP adalah 
(false or (true && false)), dan menghasilkan nilai 
false.
Pada contoh terakhir baris ke-20, operator
 || akan diproses terlebih dahulu, sehingga persamaanya menjadi 
$hasil5 = ($a and ($b || $a) or b).
Dalam membuat operasi logika ini, sedapat mungkin untuk mengujinya 
terlebih dahulu, karena kesalahan program pada logika akan sulit 
terdeteksi.
Pengertian Prinsip Short Circuit dalam operasi Logika PHP
PHP menjalankan operasi logika dengan prinsip 
short-circuit, 
yaitu jika dengan memeriksa satu perintah saja sudah didapati hasil 
logikanya, maka perintah lain tidak akan dijalankan. Contohnya:
$hasil = $a AND $b AND $c AND $d; 
 
 | 
 
 
Jika pada saat program dijalankan 
$a sudah bernilai 
FALSE, maka variabel 
$b, 
$c dan 
$d tidak akan diperiksa lagi, karena apapun nilai variabel tersebut, hasilnya akan tetap FALSE.
Hal ini akan berguna untuk kasus-kasus tertentu, seperti contoh berikut:
1 
2 
3 
 | 
<?php 
$result = fopen($filename) or exit(); 
?> 
 
 | 
 
 
Fungsi 
exit() dalam kode PHP tersebut (yang akan membuat program PHP berhenti diproses) tidak akan dijalankan selama 
fopen($filename) bernilai true. Fungsi short-circuit ini sering digunakan dalam contoh-contoh aplikasi PHP.
Source: 
http://www.duniailkom.com/pengertian-dan-jenis-jenis-operator-logika-dalam-php/