Disuguaglianza per valore e tipo in PHP
Oltre all'operatore != esiste anche
l'operatore !==, che tiene conto del tipo
nel confronto. Esaminiamo le differenze tra
loro con degli esempi.
Supponiamo che con l'operatore != vengano confrontati
due numeri 3. Questo operatore confronta
i valori per verificare che NON siano uguali. Dato che
i nostri valori sono effettivamente uguali, sullo schermo
verrà visualizzato '-':
<?php
if (3 != 3) {
echo '+++';
} else {
echo '---'; // si eseguirà questo, poiché i valori sono uguali
}
?>
Supponiamo ora che uno dei nostri valori sia
tra virgolette. In questo caso l'operatore !=
li considererà comunque uguali (poiché il valore coincide,
e il tipo non è importante per questo operatore)
e visualizzerà nuovamente '-':
<?php
if ('3' != 3) {
echo '+++';
} else {
echo '---'; // si eseguirà questo, poiché i valori sono uguali
}
?>
Confrontiamo ora due numeri 3
con l'operatore !==. Anche questo
li considererà uguali e visualizzerà '-':
<?php
if (3 !== 3) {
echo '+++';
} else {
echo '---'; // si eseguirà questo, poiché i valori sono uguali
}
?>
Ma se ora mettiamo uno dei tre tra virgolette,
l'operatore !== considererà i nostri tre
non uguali, perché, sebbene i loro valori coincidano,
hanno tipo diverso:
<?php
if ('3' !== 3) {
echo '+++'; // si eseguirà questo, poiché i valori NON sono uguali
} else {
echo '---';
}
?>
Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:
<?php
$test1 = '3';
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 != $test2) {
echo '+++';
} else {
echo '---';
}
?>
Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:
<?php
$test1 = 3;
$test2 = '3';
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>
Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:
<?php
$test1 = 3;
$test2 = 2;
if ($test1 !== $test2) {
echo '+++';
} else {
echo '---';
}
?>