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

phpvfprintf(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<?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:

php'Liczba: 10, Zmiennoprzecinkowa: 20.50, Ciąg: test'

Przykład

Użycie różnych specyfikatorów:

php<?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:

php'Hex: f, Naukowo: 1.23e+1, Dopełnienie: \' ABCDE\''

Zobacz też

  • funkcję fprintf,
    która formatuje ciąg i zapisuje do strumienia
  • funkcję sprintf,
    która zwraca sformatowany ciąg
  • funkcję vsprintf,
    która działa jak sprintf, ale przyjmuje tablicę argumentów