Perbandingan Tidak Ketat Nilai Boolean di PHP
Dalam contoh sebelumnya saya menggunakan operator
=== untuk perbandingan.
Dalam kasus ini, variabel kita
dibandingkan untuk kesetaraan dengan true
baik dari nilai maupun tipenya.
Dalam tugas kita, operator
== juga dapat digunakan.
Jika dalam variabel test
selalu berisi salah satu nilai true
atau false, maka tidak ada yang akan berubah:
<?php
$test = true; // di sini kita tulis true atau false
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Namun, jika variabel $test dapat
berisi nilai apa saja, maka segalanya menjadi
jauh lebih rumit. Dalam kasus seperti itu, jika variabel
berisi nilai non-boolean, maka nilai tersebut
pertama-tama akan dikonversi ke boolean dan baru kemudian
akan dibandingkan.
Misalnya, anggap variabel kita berisi
angka 1. Dalam kasus ini, angka tersebut pertama-tama
akan dikonversi ke tipe boolean, yaitu
menjadi true. Dan kemudian perbandingan akan dilakukan:
<?php
$test = 1;
if ($test == true) {
echo '+++'; // ini yang akan dijalankan, karena 1 == true adalah benar
} else {
echo '---';
}
?>
Sebagai contoh lain, angka 0 akan dikonversi
menjadi false. Dan kondisi kita pada akhirnya
akan menjadi salah:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---'; // ini yang akan dijalankan, karena 0 == true adalah TIDAK benar
}
?>
Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:
<?php
$test = 1;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:
<?php
$test = 1;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:
<?php
$test = 1;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:
<?php
$test = '';
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kode, tentukan apa yang akan ditampilkan pada layar:
<?php
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>