Funzione vsprintf
La funzione vsprintf è analoga a sprintf, ma accetta gli argomenti sotto forma di array,
e non un numero variabile di parametri. Il primo parametro è una stringa-schema con
specificatori di formato, il secondo - un array di valori per la sostituzione. Nella stringa di formato vengono utilizzati caratteri speciali (specificatori di formato), che iniziano con il segno % e controllano la formattazione dell'output.
Sintassi
vsprintf(string $format, array $args);
Specificatori di formato
| Specificatore | Descrizione |
|---|---|
%s |
Stringa |
%d |
Numero intero con segno (decimale) |
%u |
Numero intero senza segno (decimale) |
%f |
Numero a virgola mobile (dipendente dalla località) |
%F |
Numero a virgola mobile (non dipendente dalla località) |
%c |
Carattere per 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 |
%% |
Segno di percentuale |
Esempio
Esempio base di formattazione di una stringa con sostituzione di valori:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Risultato dell'esecuzione del codice:
'Hello John! Today is Monday.'
Esempio
Utilizzo di diversi specificatori di formato:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Risultato dell'esecuzione del codice:
'2023-05-12'
Esempio
Lavorare con numeri a virgola mobile:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Risultato dell'esecuzione del codice:
'Price: $19.99'