Funzione sscanf
La funzione sscanf analizza una stringa utilizzando il formato specificato,
e restituisce i valori. Il primo parametro della funzione è la stringa da analizzare,
il secondo è la stringa di formato, e i parametri successivi (opzionali) sono le variabili
in cui verranno scritti i risultati dell'analisi.
Nella stringa di formato vengono utilizzati caratteri speciali (specificatori di formato), che iniziano con il simbolo % e controllano la formattazione dell'output.
Sintassi
sscanf(string $str, string $format [, mixed &$... ]): mixed
Specificatori di formato
| Specificatore | Descrizione |
|---|---|
%s |
Stringa |
%d |
Numero intero con segno (decimale) |
%u |
Numero intero senza segno (decimale) |
%f |
Numero in virgola mobile (dipendente dalle impostazioni locali) |
%F |
Numero in virgola mobile (non dipendente dalle impostazioni locali) |
%c |
Carattere secondo il codice ASCII |
%x |
Numero intero in sistema esadecimale (lettere minuscole) |
%X |
Numero intero in sistema esadecimale (lettere maiuscole) |
%o |
Numero intero in sistema ottale |
%b |
Numero intero in sistema binario |
%e |
Notazione scientifica (lettere minuscole) |
%E |
Notazione scientifica (lettere maiuscole) |
%g |
Formato breve %e o %f |
%G |
Formato breve %E o %F |
%% |
Simbolo di percentuale |
Esempio
Analizziamo una stringa, estraendo un numero e del testo:
<?php
$res = sscanf("42 is the answer", "%d is %s");
print_r($res);
?>
Risultato dell'esecuzione del codice:
[42, 'the']
Esempio
Analizziamo una data nelle sue componenti:
<?php
$date = "2023-12-31";
list($year, $month, $day) = sscanf($date, "%d-%d-%d");
echo "Year: $year, Month: $month, Day: $day";
?>
Risultato dell'esecuzione del codice:
'Year: 2023, Month: 12, Day: 31'