Funzione vfprintf
La funzione vfprintf scrive una stringa, formattata secondo gli specificatori, in un flusso di file. Come primo parametro accetta una risorsa di file, come secondo una stringa di formato, come terzo un array di argomenti per la sostituzione. Nella stringa di formato vengono utilizzati caratteri speciali (specificatori di formato), che iniziano con il simbolo % e controllano la formattazione dell'output.
Sintassi
vfprintf(resource $handle, string $format, array $args): int
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 in base al 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
Scrittura di una stringa formattata in un file:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Numero: %d, Virgola mobile: %.2f, Stringa: %s", $values);
fclose($file);
?>
Contenuto del file output.txt:
'Numero: 10, Virgola mobile: 20.50, Stringa: test'
Esempio
Utilizzo di diversi specificatori:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Esadecimale: %x, Scientifica: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Risultato dell'output:
'Esadecimale: f, Scientifica: 1.23e+1, Padding: \' ABCDE\''