Functie vfprintf
De functie vfprintf schrijft een string, geformatteerd volgens specificatoren, naar een bestandsstream. Het eerste parameter accepteert een bestandshulpbron, het tweede een formatteerstring, het derde een array met argumenten voor substitutie. In de formatteerstring worden speciale symbolen (formaat specificatoren) gebruikt, die beginnen met het teken % en de opmaak van de uitvoer beheren.
Syntaxis
vfprintf(resource $handle, string $format, array $args): int
Formaat specificatoren
| Specificator | Beschrijving |
|---|---|
%s |
String |
%d |
Geheel getal met teken (decimaal) |
%u |
Geheel getal zonder teken (decimaal) |
%f |
Drijvende komma getal (locale-afhankelijk) |
%F |
Drijvende komma getal (niet locale-afhankelijk) |
%c |
Karakter volgens ASCII-code |
%x |
Geheel getal in hexadecimaal systeem (kleine letters) |
%X |
Geheel getal in hexadecimaal systeem (hoofdletters) |
%o |
Geheel getal in octaal systeem |
%b |
Geheel getal in binair systeem |
%e |
Wetenschappelijke notatie (kleine letters) |
%E |
Wetenschappelijke notatie (hoofdletters) |
%g |
Korte notatie van %e of %f |
%G |
Korte notatie van %E of %F |
%% |
Procentteken |
Voorbeeld
Schrijven van een geformatteerde string naar een bestand:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Getal: %d, Komma: %.2f, String: %s", $values);
fclose($file);
?>
Inhoud van bestand output.txt:
'Getal: 10, Komma: 20.50, String: test'
Voorbeeld
Gebruik van verschillende specificatoren:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Wetenschappelijk: %.2e, Opvulling: '%5s'", $data);
fclose($res);
?>
Uitvoerresultaat:
'Hex: f, Wetenschappelijk: 1.23e+1, Opvulling: \' ABCDE\''