ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
312 of 410 menu
Хочешь читать code.mu на своем родном языке? Помоги с переводом! Переведем мы сами, тебе нужно указать на ошибки перевода:) Оставляй заявку ->

Функция vfprintf

Функция vfprintf записывает строку, отформатированную согласно спецификаторам, в файловый поток. Первым параметром принимает файловый ресурс, вторым - строку формата, третьим - массив аргументов для подстановки. В строке формата используются специальные символы (форматные спецификаторы), которые начинаются со знака % и управляют форматированием вывода.

Синтаксис

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

Содержимое файла output.txt:

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

Пример

Использование разных спецификаторов:

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

Результат вывода:

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

Смотрите также

  • функцию fprintf,
    которая форматирует строку и записывает в поток
  • функцию sprintf,
    которая возвращает форматированную строку
  • функцию vsprintf,
    которая работает как sprintf, но принимает массив аргументов
byenru