Home / Programmazione / PHP / Estrapolare i numeri da una stringa in PHP
Mattepuffo

Estrapolare i numeri da una stringa in PHP

Estrapolare i numeri da una stringa in PHP

Oggi vediamo come possiamo estrapolare i numeri da una string in PHP.

Ci sono, ovviamente, molti modi per fare questa operazione.

Noi useremo la funzione filter_var.

Supponiamo di avere una stringa del genere: KG 19.

Dobbiamo prelevare solo il numero.

Ecco un esempio:

$str = 'KG 19';
$int = filter_var($str, FILTER_SANITIZE_NUMBER_INT);
echo $int;

Volendo possiamo anche eseguire operazioni matematiche sul numero estratto:

$str = 'KG 19';
$int = filter_var($str, FILTER_SANITIZE_NUMBER_INT) - 1;
echo $int;

Se invece la stringa contiene delle virgole potremmo avere dei problemi.

Se vogliamo trasforma ciò che viene dopo la virgola in decimali, possiamo fare così:

$str = 'KG 19,5';
$newStr = str_replace(',', '.', $str);
$int = filter_var($newStr, FILTER_SANITIZE_NUMBER_FLOAT, FILTER_FLAG_ALLOW_FRACTION);

Prima trasformiamo la virogla in punto.

Poi usiamo FILTER_SANITIZE_NUMBER_FLOAT e FILTER_FLAG_ALLOW_FRACTION (qui i dettagli dei filtri) per mantenere i decimali.

(Ringrazioni il forum di HTML.it per questo suggerimento).

Molto easy!

Enjoy!