Нееднаквост по вредност и тип во 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 '---';
}
?>