Enakost po vrednosti in tipu v PHP
Recimo, da želite primerjati tako, da število
v narekovajih ne bo enako istemu številu
brez narekovajev. Z drugimi besedami, želite
primerjati tako, da primerjava ne bo samo
po vrednosti, ampak tudi po podatkovnem tipu. Za to
namesto operatorja == uporabite
operator ===. Primerjava s takim operatorjem
se imenuje stroga.
Poglejte primer:
<?php
if ('3' === 3) {
echo '+++';
} else {
echo '---'; // to se bo izvedlo, ker vrednosti niso enake po tipu
}
?>
Toda pri primerjavi dveh nizov '3'
se bo na zaslon izpisal '+++':
<?php
if ('3' === '3') {
echo '+++'; // to se bo izvedlo
} else {
echo '---';
}
?>
Prav tako kot pri primerjavi števil:
<?php
if (3 === 3) {
echo '+++'; // to se bo izvedlo
} else {
echo '---';
}
?>
Razlika med obema operatorjema se pokaže prav takrat, ko so vrednosti enake, vendar so različni podatkovni tipi. V vseh drugih primerih ta operatorja delujeta enako. Na primer, pri primerjavi različnih števil se bo seveda izpisal minus:
<?php
if (2 === 3) {
echo '+++';
} else {
echo '---'; // to se bo izvedlo
}
?>
Trenutno je v PHP-ju splošno sprejeto povsod uporabljati strogo primerjavo. Menijo, da je koda v tem primeru manj nagnjena k napakam.
Brez zagon kode določite, kaj se bo izpisalo na zaslon:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Brez zagon kode določite, kaj se bo izpisalo na zaslon:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Brez zagon kode določite, kaj se bo izpisalo na zaslon:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 == $test2) {
echo '+++';
} else {
echo '---';
}
?>
Brez zagon kode določite, kaj se bo izpisalo na zaslon:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>
Brez zagon kode določite, kaj se bo izpisalo na zaslon:
<?php
$test1 = 3;
$test2 = 3;
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>