Ulikhet i verdi og type i PHP
I tillegg til operatoren != finnes det også
operatoren !==, som tar hensyn til type ved
sammenligning. La oss se på forskjellene mellom
dem med eksempler.
La to tall 3 sammenlignes med operatoren !=.
Denne operatoren sammenligner verdiene for å se om de IKKE er like. Siden
våre verdier faktisk er like, vil '-' vises på skjermen:
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // dette vil kjøre, fordi verdiene er like
}
?>
La nå en av verdiene våre være
i anførselstegn. I dette tilfellet vil operatoren !=
fortsatt anse dem som like (fordi verdien stemmer overens,
og type er ikke viktig for denne operatoren)
og vil igjen vise '-':
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // dette vil kjøre, fordi verdiene er like
}
?>
La oss nå sammenligne to tall 3
med operatoren !==. Den vil også
anse dem som like og vise '-':
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // dette vil kjøre, fordi verdiene er like
}
?>
Men hvis vi nå setter en av treerne i anførselstegn,
vil operatoren !== anse våre treere som
ulike, fordi selv om verdiene deres stemmer overens,
har de ulik type:
<?php
if ('3' !== 3) {
echo '+++'; // dette vil kjøre, fordi verdiene IKKE er like
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil vises på skjermen:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil vises på skjermen:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil vises på skjermen:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil vises på skjermen:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Uten å kjøre koden, bestem hva som vil vises på skjermen:
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>