АКЦЫЯ: бясплатныя месячныя курсы па стварэнні сайтаў
на выбар: вёрстка, JavaScript, PHP, Python або фрэймворкі. Сёння апошні дзень для запісу! Націскай!
⊗ppPmCdWBC 84 of 447 menu

Нестрогае параўнанне лагічных значэнняў у 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 '---'; } ?>
byenru