Равенство по значению и типу в PHP

Пусть вы хотите сравнивать так, чтобы число в кавычках не было равно такому же числу без кавычек. Говоря другими словами, вы хотите сравнивать так, чтобы сравнение было не только по значению, но и по типу данных. Для этого вместо оператора == следует использовать оператор ===.

Смотрите пример:

<?php if ('3' === 3) { echo '+++'; } else { echo '---'; // сработает это, тк значения не равны по типу } ?>

А вот при сравнении двух строк '3' на экран выведется '+':

<?php if ('3' === '3') { echo '+++'; // сработает это } else { echo '---'; } ?>

Так же, как и при сравнении чисел:

<?php if (3 === 3) { echo '+++'; // сработает это } else { echo '---'; } ?>

Разница между двумя операторами проявляется именно тогда, когда значения одинаковые, но разный тип данных. В остальных случаях эти операторы работают одинаково. К примеру, при сравнении разных чисел, конечно же, выведется минус:

<?php if (2 === 3) { echo '+++'; } else { echo '---'; // сработает это } ?>

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

<?php $test1 = '3'; $test2 = '3'; if ($test1 == $test2) { echo '+++'; } else { echo '---'; } ?>

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

<?php $test1 = '3'; $test2 = '3'; if ($test1 === $test2) { echo '+++'; } else { echo '---'; } ?>

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

<?php $test1 = 3; $test2 = '3'; if ($test1 == $test2) { echo '+++'; } else { echo '---'; } ?>

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

<?php $test1 = 3; $test2 = '3'; if ($test1 === $test2) { echo '+++'; } else { echo '---'; } ?>

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

<?php $test1 = 3; $test2 = 3; if ($test1 === $test2) { echo '+++'; } else { echo '---'; } ?>



Чат с GPT Компилятор