Нестрого споредување на логички вредности во PHP
Во претходниот пример ја користев за споредба
операторот ===. Во овој случај нашата променлива
се споредуваше на еднаквост true како
по вредност, така и по тип.
Во нашата задача може да се користи и операторот
==. Ако во променливата test
секогаш ќе има една од вредностите true
или false, тогаш ништо нема да се промени:
<?php
$test = true; // тука пишуваме или true, или false
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Но, ако во променливата $test може
да се појават какви било вредности, тогаш сè станува
многу покомплицирано. Во таков случај, ако во променливата
нема булова вредност, тогаш таа вредност
прво ќе се претвори во булова и дури
потоа ќе се споредува.
Да претпоставиме, на пример, во нашата променлива ќе има
број 1. Во овој случај тој прво
ќе се претвори во логички тип, односно
во true. И потоа ќе се изврши споредбата:
<?php
$test = 1;
if ($test == true) {
echo '+++'; // ќе работи ова, бидејќи 1 == true е точно
} else {
echo '---';
}
?>
Но, на пример, бројот 0 се претвора
во false. И нашиот услов како резултат
ќе биде неточен:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---'; // ќе работи ова, бидејќи 0 == true е НЕточно
}
?>
Без да ја стартувате кода, определете што ќе се испечати на екранот:
<?php
$test = 1;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Без да ја стартувате кода, определете што ќе се испечати на екранот:
<?php
$test = 0;
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>
Без да ја стартувате кода, определете што ќе се испечати на екранот:
<?php
$test = 1;
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Без да ја стартувате кода, определете што ќе се испечати на екранот:
<?php
$test = 1;
if ($test != true) {
echo '+++';
} else {
echo '---';
}
?>
Без да ја стартувате кода, определете што ќе се испечати на екранот:
<?php
$test = '';
if ($test == false) {
echo '+++';
} else {
echo '---';
}
?>
Без да ја стартувате кода, определете што ќе се испечати на екранот:
<?php
if ($test == true) {
echo '+++';
} else {
echo '---';
}
?>