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