⊗ppPmCdWBC 84 of 447 menu

Confronto non rigoroso dei valori booleani in PHP

Nell'esempio precedente ho utilizzato per il confronto l'operatore ===. In questo caso la nostra variabile veniva confrontata per uguaglianza con true sia per valore che per tipo.

Nel nostro problema possiamo utilizzare anche l'operatore ==. Se nella variabile test ci sarà sempre uno dei valori true o false, allora nulla cambierà:

<?php $test = true; // qui scriviamo o true, o false if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Ma se nella variabile $test possono finire valori qualsiasi, allora tutto diventa molto più complicato. In tal caso, se nella variabile ci sarà un valore non booleano, questo valore verrà prima convertito in booleano e solo dopodiché verrà confrontato.

Supponiamo, ad esempio, che nella nostra variabile ci sia il numero 1. In questo caso verrà prima convertito al tipo logico, cioè a true. E poi verrà eseguito il confronto:

<?php $test = 1; if ($test == true) { echo '+++'; // questo funzionerà, poiché 1 == true è corretto } else { echo '---'; } ?>

Invece, ad esempio, il numero 0 si converte in false. E la nostra condizione di conseguenza risulterà falsa:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; // questo funzionerà, poiché 0 == true NON è corretto } ?>

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

<?php $test = 1; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

<?php $test = 0; if ($test == true) { echo '+++'; } else { echo '---'; } ?>

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

<?php $test = 1; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

<?php $test = 1; if ($test != true) { echo '+++'; } else { echo '---'; } ?>

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

<?php $test = ''; if ($test == false) { echo '+++'; } else { echo '---'; } ?>

Senza eseguire il codice, determina cosa verrà visualizzato sullo schermo:

<?php if ($test == true) { echo '+++'; } else { echo '---'; } ?>
Italiano
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesia日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Utilizziamo i cookie per il funzionamento del sito, l'analisi e la personalizzazione. I dati vengono elaborati in conformità con la Politica sulla privacy.
accetta tutto personalizza rifiuta