Funzione sscanf() di PHP

Esempio

Analisi della stringa:

<?php
$str = "age:30 weight:60kg";
sscanf($str,"age:%d weight:%dkg",$age,$weight);
// Mostra tipo e valore
var_dump($age,$weight);
?>

Esempio di esecuzione

Definizione e uso

La funzione sscanf() analizza l'input proveniente dalla stringa in base al formato specificato. La funzione sscanf() analizza la stringa in base alla stringa di formato.

Se si passano due parametri al funzione, i dati vengono restituiti come array. Altrimenti, se si passano parametri aggiuntivi, i dati letti vengono memorizzati in questi parametri. Se il numero di delimitatori è maggiore del numero di variabili che li contengono, si verifica un errore. Tuttavia, se il numero di delimitatori è minore del numero di variabili che li contengono, le variabili aggiuntive contengono NULL.

Funzioni correlate:

  • printf() - Output di una stringa formattata
  • sprintf() - Scrivi una stringa formattata in una variabile

Sintassi

sscanf(string,format,arg1,arg2,arg++)
Parametro Descrizione
string Obbligatorio. Specifica la stringa da leggere.
format

Obbligatorio. Specifica il formato da utilizzare.

Valori di formato possibili:

  • %% - Restituisce un percento %
  • %c - Carattere corrispondente al valore ASCII
  • %d - Numero decimale con segno (numero negativo, 0, numero positivo)
  • %e - Scrittura in notazione scientifica in minuscolo (ad esempio 1.2e+2)
  • 蒧umero decimale senza segno (uguale o maggiore di 0)
  • %f - Numero a virgola mobile
  • %o - Numero ottale
  • %s - Stringa
  • %x - Numero esadecimale (lettere minuscole)
  • %X - Numero esadecimale (lettere maiuscole)

Valori di formato aggiuntivi. Devono essere posizionati tra % e la lettera (ad esempio %.2f):

  • + (aggiungere + o - davanti al numero per definire la segnativa del numero. Per default, solo i numeri negativi sono segnalati, i numeri positivi non lo sono)
  • ' (specificare cosa usare come riempimento, per default è lo spazio. Deve essere usato insieme al selettore di larghezza.)
  • - (allineamento a sinistra del valore della variabile)
  • .[0-9] (specificare la larghezza minima del valore della variabile)
  • .[0-9] (specificare il numero di cifre decimali o la lunghezza massima della stringa)

Commento:Se si utilizzano più valori di formato sopra menzionati, devono essere utilizzati nell'ordine indicato.

arg1 Opzionale. Variabile primaria per memorizzare i dati.
arg2 Opzionale. Variabile secondaria per memorizzare i dati.
arg++ Opzionale. Variabili terza e quarta per memorizzare i dati, ecc.

Dettagli tecnici

Valore di ritorno: Se si passano due parametri al funzione, i dati vengono restituiti sotto forma di array. Altrimenti, se si passano parametri aggiuntivi, i dati elaborati vengono memorizzati in questi parametri. Se il numero di delimitatori è maggiore del numero di variabili che li contengono, si verifica un errore. Tuttavia, se il numero di delimitatori è minore del numero di variabili che li contengono, le variabili aggiuntive contengono NULL.
Versione PHP: 4.0.1+

Più esempi

Esempio 1

Usare i valori di formato %s, %d e %c:

<?php
$str = "Se dividete 4 per 2 otterrete 2";
$format = sscanf($str,"%s %s %s %d %s %d %s %s %c");
print_r($format);
?>

Esempio di esecuzione