4 apr 2008

Variabili booleane in PHP

1 Star2 Stars3 Stars4 Stars5 Stars (Nessun voto)
Loading ... Loading ...


Oggi, lavorando in PHP, mi sono imbattuto in uno strano comportamento: dichiarando una variabile booleana inizializzata a TRUE, stampata mostrava correttamente il valore 1. Se invece la variabile era inizializzata a FALSE, stampata non mostrava alcun valore, invece di stampare il valore 0 come (giustamente?) ci si aspetterebbe.

Dopo diverse quanto inutili ricerche (inizialmente credevo fosse un “problema” di CakePHP!) ho pensato di controllare il manuale di PHP, ed ecco svelato il mistero: è giusto così! 8O

Incredibile ma vero insomma, in PHP le variabili boolean se stampate valgono 1 se TRUE, niente se FALSE!

Sempre sulla pagina del manuale ho trovato questa interessante spiegazione, che riporto qui tradotta per voi in italiano:

E’ corretto che TRUE o FALSE non siano usate come costanti per i numeri 0 ed 1. Ma potrebbero esserci delle volte in cui è utile vedere il valore di un boolean come 1 oppure 0. Ecco come fare:

$var1 = TRUE;
$var2 = FALSE;

echo $var1; //Mostrerà il numero 1

echo $var2; //Non mostrerà nulla

Per fare in modo che venga mostrato il numero 0 per il valore FALSE, bisogna effettuare una conversione di tipo (cast):

echo (int)$var2; // Questo mostrerà il numero 0 per FALSE

Tags: , , ,

Subscribe to Comments

One Response to “Variabili booleane in PHP”

  1. Wow, che strano fenomeno ;-)

     

    paolo

Leave a Reply

Message:

  • Ricerca

    or
  • Language

  • Categorie

  • RSSTwitter

  • Delicious

  • Statistiche

    • Pages displayed : 33362
    • Unique visitors : 18465
    • Pages displayed in last 24 hours : 0
    • Unique visitors in last 24 hours : 0