⊗ppPmCdWBC 84 of 447 menu

Non-Strict Comparison of Boolean Values in PHP

In the previous example, I used the === operator for comparison. In this case, our variable was compared for equality with true both by value and by type.

In our task, the == operator can also be used. If the variable test always contains one of the values true or false, then nothing will change:

<?php $test = true; // here we write either true or false if ($test == true) { echo '+++'; } else { echo '---'; } ?>

But if any values can be assigned to the variable $test, then everything becomes much more complicated. In such a case, if the variable contains a non-boolean value, that value will first be converted to a boolean and only then will be compared.

Let's say, for example, the variable contains the number 1. In this case, it will first be converted to the boolean type, that is, to true. And then the comparison will be performed:

<?php $test = 1; if ($test == true) { echo '+++'; // this will trigger, because 1 == true is correct } else { echo '---'; } ?>

Whereas, for example, the number 0 converts to false. And our condition will ultimately be false:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; // this will trigger, because 0 == true is NOT correct } ?>

Without running the code, determine what will be displayed on the screen:

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

Without running the code, determine what will be displayed on the screen:

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

Without running the code, determine what will be displayed on the screen:

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

Without running the code, determine what will be displayed on the screen:

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

Without running the code, determine what will be displayed on the screen:

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

Without running the code, determine what will be displayed on the screen:

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