Funksjonen vfprintf
Funksjonen vfprintf skriver en streng, formatert i henhold til spesifikatorer, til en filstrøm. Den tar en filressurs som første parameter, en formatstreng som andre, og en array med argumenter for innsetting som tredje. I formatstrengen brukes spesielle symboler (formatspecifikatorer) som starter med tegnet % og styrer utskriftsformateringen.
Syntaks
vfprintf(resource $handle, string $format, array $args): int
Formatspecifikatorer
| Specifikator | Beskrivelse |
|---|---|
%s |
Streng |
%d |
Helttall med fortegn (desimalt) |
%u |
Helttall uten fortegn (desimalt) |
%f |
Flyttall (lokaleavhengig) |
%F |
Flyttall (ikke lokaleavhengig) |
%c |
Tegn etter ASCII-kode |
%x |
Helttall i heksadesimalsystem (små bokstaver) |
%X |
Helttall i heksadesimalsystem (store bokstaver) |
%o |
Helttall i oktalsystem |
%b |
Helttall i binærsystem |
%e |
Vitenskapelig notasjon (små bokstaver) |
%E |
Vitenskapelig notasjon (store bokstaver) |
%g |
Kortform for %e eller %f |
%G |
Kortform for %E eller %F |
%% |
Prosenttegn |
Eksempel
Skriving av en formatert streng til en fil:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Innhold i filen output.txt:
'Number: 10, Float: 20.50, String: test'
Eksempel
Bruk av forskjellige specifikatorer:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Utskiftsresultat:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''