Еднаквост по вредност и тип во 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 практика, вообичаено е секаде да се користи строга споредба. Се смета дека во овој случај кодот е помалку подложен на грешки.
Без да ја стартувате скриптата, одреди што ќе се испечати на екран:
<?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 '---';
}
?>