Uguaglianza per valore e tipo in PHP
Supponiamo che tu voglia confrontare in modo che un numero
tra virgolette non sia uguale allo stesso numero
senza virgolette. In altre parole, vuoi
confrontare in modo che il confronto non sia solo
per valore, ma anche per tipo di dati. Per fare ciò,
invece dell'operatore ==, si dovrebbe usare
l'operatore ===. Il confronto con questo operatore
è chiamato stretto.
Vedi l'esempio:
<?php
if ('3' === 3) {
echo '+++';
} else {
echo '---'; // questo verrà eseguito, poiché i valori non sono uguali per tipo
}
?>
Mentre nel confronto di due stringhe '3'
sullo schermo verrà visualizzato '+++':
<?php
if ('3' === '3') {
echo '+++'; // questo verrà eseguito
} else {
echo '---';
}
?>
Allo stesso modo, nel confronto di numeri:
<?php
if (3 === 3) {
echo '+++'; // questo verrà eseguito
} else {
echo '---';
}
?>
La differenza tra i due operatori si manifesta proprio quando i valori sono gli stessi, ma il tipo di dati è diverso. In tutti gli altri casi questi operatori funzionano allo stesso modo. Ad esempio, nel confronto di numeri diversi, ovviamente, verrà visualizzato il segno meno:
<?php
if (2 === 3) {
echo '+++';
} else {
echo '---'; // questo verrà eseguito
}
?>
Attualmente in PHP è comune practice usare ovunque il confronto stretto. Si ritiene che in questo modo il codice sia meno soggetto a errori.
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 = 3;
if ($test1 === $test2) {
echo '+++';
} else {
echo '---';
}
?>