Funkcja vfprintf
Funkcja vfprintf zapisuje ciąg znaków, sformatowany zgodnie ze specyfikatorami, do strumienia plikowego. Jako pierwszy parametr przyjmuje zasób pliku, drugi - ciąg formatujący, trzeci - tablicę argumentów do podstawienia. W ciągu formatującym używane są specjalne znaki (specyfikatory formatujące), które zaczynają się od znaku % i sterują formatowaniem wyprowadzania.
Składnia
vfprintf(resource $handle, string $format, array $args): int
Specyfikatory formatujące
| Specyfikator | Opis |
|---|---|
%s |
Ciąg znaków |
%d |
Liczba całkowita ze znakiem (dziesiętna) |
%u |
Liczba całkowita bez znaku (dziesiętna) |
%f |
Liczba zmiennoprzecinkowa (zależna od ustawień regionalnych) |
%F |
Liczba zmiennoprzecinkowa (niezależna od ustawień regionalnych) |
%c |
Znak według kodu ASCII |
%x |
Liczba całkowita w systemie szesnastkowym (małe litery) |
%X |
Liczba całkowita w systemie szesnastkowym (wielkie litery) |
%o |
Liczba całkowita w systemie ósemkowym |
%b |
Liczba całkowita w systemie dwójkowym |
%e |
Notacja naukowa (małe litery) |
%E |
Notacja naukowa (wielkie litery) |
%g |
Krótki zapis %e lub %f |
%G |
Krótki zapis %E lub %F |
%% |
Znak procentu |
Przykład
Zapis sformatowanego ciągu do pliku:
<?php
$file = fopen('output.txt', 'w');
$values = [10, 20.5, 'test'];
vfprintf($file, "Liczba: %d, Zmiennoprzecinkowa: %.2f, Ciąg: %s", $values);
fclose($file);
?>
Zawartość pliku output.txt:
'Liczba: 10, Zmiennoprzecinkowa: 20.50, Ciąg: test'
Przykład
Użycie różnych specyfikatorów:
<?php
$res = fopen('php://output', 'w');
$data = [15, 12.3456, 'ABCDE'];
vfprintf($res, "Hex: %x, Naukowo: %.2e, Dopełnienie: '%5s'", $data);
fclose($res);
?>
Wynik wyprowadzania:
'Hex: f, Naukowo: 1.23e+1, Dopełnienie: \' ABCDE\''