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

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

php'Number: 10, Float: 20.50, String: test'

Příklad

Použití různých specifikátorů:

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

php'Hex: f, Scientific: 1.23e+1, Padding: \' ABCDE\''

Viz také

  • funkci fprintf,
    která formátuje řetězec a zapisuje do proudu
  • funkci sprintf,
    která vrací formátovaný řetězec
  • funkci vsprintf,
    která funguje jako sprintf, ale přijímá pole argumentů