Perbandingan Tidak Ketat Nilai Boolean dalam PHP
Dalam contoh sebelumnya, saya menggunakan operator
=== untuk perbandingan.
Dalam kes ini, pembolehubah kita
dibandingkan untuk kesamaan dengan true
baik dari segi nilai mahupun jenis.
Dalam tugas kita, operator
== juga boleh digunakan. Jika dalam pembolehubah test
selalu salah satu nilai true
atau false, maka tiada apa yang akan berubah:
<?php
$test = true; // tulis sama ada true atau false di sini
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Namun, jika ke dalam pembolehubah $test boleh
masuk sebarang nilai, maka semuanya menjadi
jauh lebih rumit. Dalam kes sedemikian, jika dalam pembolehubah
bukan nilai boolean, maka nilai tersebut
pertama akan ditukar kepada boolean dan hanya
kemudian akan dibandingkan.
Katakan, sebagai contoh, dalam pembolehubah kita akan ada
nombor 1. Dalam kes ini, ia mula-mula
akan ditukar kepada jenis boolean, iaitu
kepada true. Dan kemudian perbandingan akan dilakukan:
<?php
$test = 1;
if ($test == true) {
echo '+++'; // ini akan berfungsi, kerana 1 == true adalah benar
} else {
echo '---';
}
?>
Sebagai contoh, nombor 0 pula ditukar
kepada false. Dan keadaan kita hasilnya
akan menjadi palsu:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---'; // ini akan berfungsi, kerana 0 == true adalah TIDAK benar
}
?>
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:
<?php
$test = 1;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:
<?php
$test = 1;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:
<?php
$test = 1;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:
<?php
$test = '';
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Tanpa menjalankan kod, tentukan apa yang akan dipaparkan pada skrin:
<?php
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>