Nerovnost podle hodnoty a typu v PHP
Kromě operátoru != existuje také
operátor !==, který bere v úvahu typ při
porovnávání. Podívejme se na rozdíly mezi
nimi na příkladech.
Nechť jsou pomocí operátoru != porovnávány
dvě čísla 3. Tento operátor porovnává
hodnoty na to, že se NErovnají. Protože
naše hodnoty jsou právě rovny, na obrazovku
se vypíše '-':
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // spustí se toto, protože hodnoty jsou stejné
}
?>
Nechť je nyní jedna z našich hodnot
v uvozovkách. V tomto případě operátor !=
je stále bude považovat za stejné (protože se shoduje
hodnota, a typ není pro tento operátor důležitý)
a opět vypíše '-':
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // spustí se toto, protože hodnoty jsou stejné
}
?>
Nyní porovnejme dvě čísla 3
pomocí operátoru !==. Ten také
je bude považovat za stejné a vypíše '-':
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // spustí se toto, protože hodnoty jsou stejné
}
?>
Pokud však nyní jednu z trojek vezmeme do uvozovek,
operátor !== bude považovat naše trojky
za nerovné, protože, ačkoli jsou jejich hodnoty stejné,
mají různý typ:
<?php
if ('3' !== 3) {
echo '+++'; // spustí se toto, protože hodnoty NEjsou stejné
} else {
echo '---';
}
?>
Bez spuštění kodu určete, co se vypíše na obrazovku:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bez spuštění kodu určete, co se vypíše na obrazovku:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bez spuštění kodu určete, co se vypíše na obrazovku:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bez spuštění kodu určete, co se vypíše na obrazovku:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bez spuštění kodu určete, co se vypíše na obrazovku:
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>