Krahasimi jo i rreptë i vlerave logjike në PHP
Në shembullin e mëparshëm unë përdora për krahasim
operatorin ===. Në këtë rast ndryshorja jonë
krahasohej për barazi true si
për vlerë, ashtu edhe për tip.
Në detyrën tonë mund të përdoret edhe operatori
==. Nëse në ndryshoren test
gjithmonë do të jetë një nga vlerat true
ose false, atëherë asgjë nuk do të ndryshojë:
<?php
$test = true; // këtu shkruajmë ose true, ose false
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Por nëse në ndryshoren $test mund
të bien çdo lloj vlere, atëherë gjithçka bëhet
shumë më e ndërlikuar. Në një rast të tillë, nëse në ndryshore
do të jetë një vlerë jo boolean, atëherë kjo vlerë
së pari do të shndërrohet në boolean dhe vetëm
pas kësaj do të krahasohet.
Le të themi, për shembull, në ndryshoren tonë do të jetë
numri 1. Në këtë rast ai së pari
do të shndërrohet në tip logjik, domethënë
në true. Dhe pastaj do të kryhet krahasimi:
<?php
$test = 1;
if ($test == true) {
echo '+++'; // do të funksionojë kjo, sepse 1 == true - kjo është e saktë
} else {
echo '---';
}
?>
Por, për shembull, numri 0 shndërrohet
në false. Dhe kushti ynë si rezultat
do të jetë i rremë:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---'; // do të funksionojë kjo, sepse 0 == true - kjo është E pasaktë
}
?>
Pa e ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:
<?php
$test = 1;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Pa e ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Pa e ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:
<?php
$test = 1;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Pa e ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:
<?php
$test = 1;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
Pa e ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:
<?php
$test = '';
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Pa e ekzekutuar kodin, përcaktoni se çfarë do të shfaqet në ekran:
<?php
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>