Koder.uz

3 of 402 menu

Логические значения и двойное равно

 В предыдущем примере я использовал для сравнения оператор ===. В этом случае наша переменная сравнивалась на равенство 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 - это НЕверно } ?>

№1

Не запуская код, определите, что выведется на экран:

<?php $test = 1; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

№2

Не запуская код, определите, что выведется на экран:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

№3

Не запуская код, определите, что выведется на экран:

<?php $test = 1; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

№4

Не запуская код, определите, что выведется на экран:

<?php $test = 1; if ($test != true) { echo '+++'; } else { echo '---'; } ?>

№5

Не запуская код, определите, что выведется на экран:

<?php $test = ''; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

№6

Не запуская код, определите, что выведется на экран:

<?php if ($test == true) { echo '+++'; } else { echo '---'; } ?>

uz ru
light night