Функција vfprintf

Функцијата vfprintf запишува стринг, форматиран според спецификаторите, во датотечен поток. Како прв параметар прифаќа датотечен ресурс, како втор - стринг на формат, како трет - низа на аргументи за замена. Во стрингот на формат се користат специјални знаци (форматни спецификатори), кои започнуваат со знакот % и управуваат со форматирањето на излезот.

Синтакса

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

Форматни спецификатори

Спецификатор Опис
%s Стринг
%d Цел број со знак (децимален)
%u Цел број без знак (децимален)
%f Број со подвижна точка (зависен од локалата)
%F Број со подвижна точка (не зависен од локалата)
%c Знак според ASCII-код
%x Цел број во хексадецимален систем (мали букви)
%X Цел број во хексадецимален систем (големи букви)
%o Цел број во октален систем
%b Цел број во бинарен систем
%e Научна нотација (мали букви)
%E Научна нотација (големи букви)
%g Кратка нотација %e или %f
%G Кратка нотација %E или %F
%% Знак за процент

Пример

Запишување на форматиран стринг во датотека:

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

Содржина на датотеката output.txt:

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

Пример

Користење на различни спецификатори:

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

Резултат на излезот:

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

Погледнете ги и

  • функцијата fprintf,
    која форматира стринг и запишува во поток
  • функцијата sprintf,
    која враќа форматиран стринг
  • функцијата vsprintf,
    која работи како sprintf, но прифаќа низа на аргументи