Koder.uz

3 of 402 menu

Равенство по значению и типу в 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 '---'; // сработает это } ?>

№1

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

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

№2

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

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

№3

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

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

№4

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

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

№5

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

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

uz ru
light night