Няроўнасць па значэнні і тыпу ў PHP
Акрамя аператара != існуе таксама
аператар !==, які ўлічвае тып пры
параўнанні. Давайце разгледзім адрозненні паміж
імі на прыкладах.
Хай з дапамогай аператара != параўноўваюцца
два лікі 3. Гэты аператар параўноўвае
значэнні на тое, што яны НЕ роўныя. Так як
нашы значэнні якраз-такі роўныя, то на экран
вывядзецца '-':
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // спрацуе гэта, так як значэнні роўныя
}
?>
Хай цяпер адно з нашых значэнняў будзе
ў двукоссі. У гэтым выпадку аператар !=
усё роўна лічыць іх роўнымі (так як супадае
значэнне, а тып не важны для гэтага аператара)
і зноў выведе '-':
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // спрацуе гэта, так як значэнні роўныя
}
?>
Давайце цяпер параўнуем два лікі 3
з дапамогай аператара !==. Ён таксама
лічыць іх роўнымі і выведе '-':
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // спрацуе гэта, так як значэнні роўныя
}
?>
А вось калі цяпер адну з троек узяць у двукоссі,
то аператар !== лічыць нашы тройкі
няроўнымі, так як, хоць значэнні іх і супадаюць,
але ў іх розны тып:
<?php
if ('3' !== 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 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>