NUMERI IN PHP
In PHP i numeri si dividono in numeri interi e float (virgola mobile), non dobbiamo preoccuparci di come rappresentare un numero, basta semplicemente assegnarlo a una variabile, poi sarà PHP a decidere se il numero sarà un intero oppure un float. PHP ci mette a disposizione diverse funzioni per controllare i numeri, ad esempio se una certa variabile contiene un numero oppure no, come is_numeric(valore).
Oltre alla funzione is_numeric(valore) abbiamo funzioni che controllano se un tipi è un intero o un float, is_int(valore) e is_float(valore).
OPERAZIONI ARITMETICHE
1) + ADDIZIONE
2) – SOTTRAZIONE
3) * MOLTIPLICAZIONE
4) / DIVISIONE
5) ** ELEVAMENTO A POTENZA
6) % OPERATORE MODULO
Essendo il PHP debolmente tipizzato, possiamo assegnare un numero sotto forma di stringa ad una variabile e sommarlo ad un altro numero. Quello che dietro le quinte succede è la conversione della stringa in un Integer.
CONFRONTO TRA VALORI FLOAT
Quando effettuiamo confronti su valori float dobbiamo prestare attenzione. Supponiamo di definire una variabile $x = 0.1 + 0.2 e una variabile $y = 0.3. Se proviamo ad effettuare il test $x == $y otterremo un false. Questo dipende dallo standard di rappresentazione dei numeri in virgola mobile. Lo stesso problema si verifica anche in javascript, che usa lo stesso standard. Apriamo gli strumenti del browser Chrome con F12.
Come possiamo vedere 0.1 + 0.2 non da esattamente 0.3, questo dipende dalla rappresentazione binaria dei floating point. Per confrontare in modo sicuro dei numeri float abbiamo bisogno di un delta massimo. Se due valori float hanno la differenza minore di questo delta li possiamo considerare uguali.
In PHP abbiamo molte funzioni per i numeri, il codice sotto riportato ne evidenzia alcune di uso comune.
Lascia un commento