Érték és típus szerinti egyenlőtlenség a PHP-ban
A != operátoron kívül létezik még a
!== operátor is, amely a típust is figyelembe veszi
az összehasonlításnál. Nézzük meg a köztük lévő különbségeket
példákon keresztül.
Tegyük fel, hogy a != operátorral két
3 számot hasonlítunk össze. Ez az operátor azt vizsgálja,
hogy az értékek NEM egyenlőek-e. Mivel
értékeink éppen egyenlőek, a képernyőre a
'-' kerül ki:
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // ez fog lefutni, mivel az értékek egyenlőek
}
?>
Tegyük fel most, hogy az egyik értékünk
idézőjelben van. Ebben az esetben a != operátor
továbbra is egyenlőnek tekinti őket (mivel az érték
megegyezik, és a típus nem fontos ennél az operátornál)
és ismét a '-' kerül kiírásra:
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // ez fog lefutni, mivel az értékek egyenlőek
}
?>
Hasonlítsunk most össze két 3 számot
a !== operátorral. Ez is egyenlőnek
fogja tekinteni őket, és a '-' kerül kiírásra:
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // ez fog lefutni, mivel az értékek egyenlőek
}
?>
De ha most az egyik hármast idézőjelbe tesszük,
akkor a !== operátor a hármasainkat
egyenlőtlennek fogja tekinteni, mivel, bár az értékük megegyezik,
de a típusuk különböző:
<?php
if ('3' !== 3) {
echo '+++'; // ez fog lefutni, mivel az értékek NEM egyenlőek
} else {
echo '---';
}
?>
A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
A kód futtatása nélkül határozd meg, mi jelenik meg a képernyőn:
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>