Нестрого поређење логичких вредности у 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 '---';
}
?>