Gestione dei numeri

In questo settore esamineremo alcuni metrodi con cui gestire, manipolare e formattare i numeri.

Esamineremo le funzioni più comuni per formattarli ed eseguire i più comuni calcoli tipo: number_format, floor, round, rand, ceil, intval, sprintf e qualche altra.

La gestione e manipolazione dei dati numerici è un operazione molto diffusa che può essere gestita atraverso l'utilizzo di alcune funzioni PHP. Come tutto il resto spesso, per gestire i numeri vien fatto uso di variabili. Tuttavia c'è subito da dire che un conto è memorizzare un numero come stringa, un conto come numero.
Osservando l'esempio qui sotto è da notare subito che la prima assegnazione è differente dalla seconda. Nella prima il numero viene memorizzato nella variabile come stringa, mentre nel secondo viene memorizzato come numero.

$stringa = "2";
$numero = 2;

Anche come output non si nota alcuna differenza, tuttavia se facciamo un controllo notiamo la differenza tra le due variabili. Ma anche la funzione is_numeric() non ci aiuta molto. Infatti, come si vede nel primo gruppo di esempi, tra tutti gli esempi memorizzati nella matrice solo la stringa "148TEST" è giudicata non numerica. Da questo punto di vista è più affidabile la funzione is_string(), come visibile nel secondo gruppo. In molti casi, tuttavia, la is_numeric(), può rivelarsi utile per decidere se una stringa contiene solo valori numerici oppure no.
Osserviamo Le due funzioni in azione:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
<?php
$tests 
= array(
    
"42"
    
1337
    
"1e4",
    
"148TEST",
    
"Una qualsiasi stringa"
    
9.1,
    
"",
    
''
);
echo 
"Con <span class=\"rosso_b\">is_numeric</span><br />\n";
foreach (
$tests as $element) {
    if (
is_numeric($element)) {
        echo 
"'".$element."' &egrave; numerico<br />\n";
    } else {
        echo 
"'".$element."' non &egrave; numerico<br />\n";
    }
}
echo 
"<hr />\n";
echo 
"Con <span class=\"rosso_b\">is_string</span><br />\n";
foreach (
$tests as $element) {
    if (
is_string($element)) {
        echo 
"'".$element."' &egrave; stringa<br />\n";
    } else {
        echo 
"'".$element."' non &egrave; stringa<br />\n";
    }
}
?>
Con is_numeric
'42' è numerico
'1337' è numerico
'1e4' è numerico
'148TEST' non è numerico
'Una qualsiasi stringa' non è numerico
'9.1' è numerico
'' non è numerico
'' non è numerico

Con is_string
'42' è stringa
'1337' non è stringa
'1e4' è stringa
'148TEST' è stringa
'Una qualsiasi stringa' è stringa
'9.1' non è stringa
'' è stringa
'' è stringa

 

 



settore tecnico il sito di lorettabweb il Forum di sostegno
il forum il forum il forum