Nerovnosť podľa hodnoty a typu v PHP
Okrem operátora != existuje aj
operátor !==, ktorý berie do úvahy typ pri
porovnávaní. Pozrime sa na rozdiely medzi
nimi na príkladoch.
Nech sa pomocou operátora != porovnávajú
dve čísla 3. Tento operátor porovnáva
hodnoty na to, že sa NEROVNAJÚ. Keďže
naše hodnoty sa práve rovnajú, na obrazovku
sa vypíše '---':
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // spustí sa toto, pretože hodnoty sú rovnaké
}
?>
Nech je teraz jedna z našich hodnôt
v úvodzovkách. V tomto prípade operátor !=
ich aj tak bude považovať za rovnaké (pretože hodnota
je rovnaká a typ nie je pre tento operátor dôležitý)
a opäť vypíše '---':
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // spustí sa toto, pretože hodnoty sú rovnaké
}
?>
Poďme teraz porovnať dve čísla 3
pomocou operátora !==. Ten ich tiež
bude považovať za rovnaké a vypíše '---':
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // spustí sa toto, pretože hodnoty sú rovnaké
}
?>
Ale ak teraz jednu z trojiek dáme do úvodzoviek,
operátor !== bude považovať naše trojky
za rôzne, pretože, hoci ich hodnoty sú rovnaké,
majú rôzny typ:
<?php
if ('3' !== 3) {
echo '+++'; // spustí sa toto, pretože hodnoty sa NEROVNAJÚ
} else {
echo '---';
}
?>
Bez spustenia kódu určite, čo sa vypíše na obrazovku:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bez spustenia kódu určite, čo sa vypíše na obrazovku:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bez spustenia kódu určite, čo sa vypíše na obrazovku:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bez spustenia kódu určite, čo sa vypíše na obrazovku:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Bez spustenia kódu určite, čo sa vypíše na obrazovku:
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>