Come convertire stringa in long (intero) in PHP
In PHP, le stringhe possono essere convertite e parsate nei loro valori numerici semplicemente usandole in un contesto matematico. PHP determinerà automaticamente il tipo di dato numerico appropriato. Se il numero è abbastanza piccolo, sarà convertito in integer. Se è più grande o contiene decimali o notazione scientifica, sarà convertito in float (che in PHP combina i ruoli di long, double e float di C e Java).
Passaggio 1: Crea file PHP
Apri un editor di testo e salva subito come longParse.php.
Passaggio 2: Assegna stringa a variabile
Incolla questo codice per assegnare una stringa alla variabile $str (nell'esempio $astring):
$astring = "100";
Passaggio 3: Conversione implicita in contesto matematico
Incolla questo per convertire la stringa in intero e aggiungere 1:
$anumber = $astring + 1;
Poiché la stringa è usata in contesto matematico e contiene info interpretabili come numero, PHP la converte automaticamente al tipo numerico appropriato (in questo caso integer perché il numero è piccolo) e prosegue. Questo può sembrare scomodo per programmatori che vogliono controllo preciso sul tipo risultante, quindi è possibile eseguire la conversione esplicitamente con un cast.
Passaggio 4: Cast esplicito
Incolla questo per fare cast esplicito della stringa in integer o float:
$anumber = (int) $astring;
$anumber = (float) $astring;
Se sei certo che i numeri sono relativamente piccoli e non conterranno decimali, usa int (risparmia memoria). Se potrebbero essere grandi o contenere decimali, usa float.
Suggerimento
Puoi scoprire i valori min/max del tipo int per il tuo sistema con PHP_INT_MAX, ma tieni presente che cambia a seconda di SO e ambiente. Se i valori possono essere estremamente grandi, oltre 1.8 x 10^308, PHP fornisce una libreria per numeri GMP limitati solo dalla memoria. Esempio:
$a = gmp_init("123456");
GMP è molto più lento dei tipi primitivi, quindi usalo solo se sei certo che serve tale precisione.