Funktio vfprintf

Funktio vfprintf kirjoittaa merkkijonon, joka on muotoiltu spesifikaattoreiden mukaisesti, tiedostovirtaan. Se ottaa ensimmäisenä parametrina tiedostoresurssin, toisena muotoilumerkkijonon ja kolmantena argumenttitaulukon sijoittamista varten. Muotoilumerkkijonossa käytetään erikoismerkkejä (muotoiluspesifikaattoreita), jotka alkavat merkillä % ja hallitsevat tulosteen muotoilua.

Syntaksi

phpvfprintf(resource $handle, string $format, array $args): int

Muotoiluspesifikaattorit

Spesifikaattori Kuvaus
%s Merkkijono
%d Etumerkillinen kokonaisluku (desimaali)
%u Etumerkitön kokonaisluku (desimaali)
%f Liukuluku (maakohtainen)
%F Liukuluku (ei maakohtainen)
%c Merkki ASCII-koodin mukaan
%x Kokonaisluku heksadesimaalijärjestelmässä (pieni kirjain)
%X Kokonaisluku heksadesimaalijärjestelmässä (iso kirjain)
%o Kokonaisluku oktaalijärjestelmässä
%b Kokonaisluku binäärijärjestelmässä
%e Tieteellinen merkintätapa (pieni kirjain)
%E Tieteellinen merkintätapa (iso kirjain)
%g Lyhyt muoto %e tai %f
%G Lyhyt muoto %E tai %F
%% Prosenttimerkki

Esimerkki

Muotoillun merkkijonon kirjoittaminen tiedostoon:

php<?php
  $file = fopen('output.txt', 'w');
  $values = [10, 20.5, 'test'];
  vfprintf($file, "Number: %d, Float: %.2f, String: %s", $values);
  fclose($file);
?>

Tiedoston output.txt sisältö:

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

Esimerkki

Eri spesifikaattoreiden käyttö:

php<?php
  $res = fopen('php://output', 'w');
  $data = [15, 12.3456, 'ABCDE'];
  vfprintf($res, "Hex: %x, Scientific: %.2e, Padding: '%5s'", $data);
  fclose($res);
?>

Tulosteen tulos:

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

Katso myös

  • funktion fprintf,
    joka muotoilee merkkijonon ja kirjoittaa virtaan
  • funktion sprintf,
    joka palauttaa muotoillun merkkijonon
  • funktion vsprintf,
    joka toimii kuten sprintf, mutta ottaa argumenttitaulukon