Funkce vfprintf
Funkce vfprintf zapíše řetězec, naformátovaný podle specifikátorů, do souborového proudu. Jako první parametr přijímá souborový resource, druhým je formátovací řetězec, třetím pole argumentů pro dosazení. V řetězci formátu se používají speciální symboly (formátovací specifikátory), které začínají znakem % a řídí formátování výstupu.
Syntaxe
vfprintf(resource $handle, string $format, array $args): int
Formátovací specifikátory
| Specifikátor | Popis |
|---|---|
%s |
Řetězec |
%d |
Celé číslo se znaménkem (desítkové) |
%u |
Celé číslo bez znaménka (desítkové) |
%f |
Číslo s plovoucí desetinnou čárkou (závislé na lokalizaci) |
%F |
Číslo s plovoucí desetinnou čárkou (nezávislé na lokalizaci) |
%c |
Znak podle ASCII kódu |
%x |
Celé číslo v šestnáctkové soustavě (malá písmena) |
%X |
Celé číslo v šestnáctkové soustavě (velká písmena) |
%o |
Celé číslo v osmičkové soustavě |
%b |
Celé číslo v binární soustavě |
%e |
Vědecká notace (malá písmena) |
%E |
Vědecká notace (velká písmena) |
%g |
Krátký zápis %e nebo %f |
%G |
Krátký zápis %E nebo %F |
%% |
Znak procenta |
Příklad
Zápis formátovaného řetězce do souboru:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
fclose($file);
?>
Obsah souboru output.txt:
'Number: 10, Float: 20.50, String: test'
Příklad
Použití různých specifikátorů:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
fclose($res);
?>
Výsledek výpisu:
'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''