Funktionen vfprintf
Funktionen vfprintf skriver en sträng, formaterad enligt specificerare, till en filström. Den tar först en filresurs som parameter, sedan en formatsträng och för det tredje en array med argument för insättning. I formatsträngen används specialtecken (formatspecificerare) som börjar med tecknet % och styr formateringen av utskriften.
Syntax
vfprintf(resource $handle, string $format, array $args): int
Formatspecificerare
| Specificerare | Beskrivning |
|---|---|
%s |
Sträng |
%d |
Heltal med tecken (decimal) |
%u |
Heltal utan tecken (decimal) |
%f |
Flyttal (lokalberoende) |
%F |
Flyttal (icke lokalberoende) |
%c |
Tecken enligt ASCII-kod |
%x |
Heltal i hexadecimalt system (gemener) |
%X |
Heltal i hexadecimalt system (versaler) |
%o |
Heltal i oktalt system |
%b |
Heltal i binärt system |
%e |
Vetenskaplig notation (gemener) |
%E |
Vetenskaplig notation (versaler) |
%g |
Kort notation %e eller %f |
%G |
Kort notation %E eller %F |
%% |
Procenttecken |
Exempel
Skrivning av en formaterad sträng till en fil:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Innehåll i filen output.txt:
'Number: 10, Float: 20.50, String: test'
Exempel
Användning av olika specificerare:
<?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\''