(PHP 5, PHP 7, PHP 8)
vfprintf — Write a formatted string to a stream
   Write a string produced according to format to the
   stream resource specified by stream.
  
Operates as fprintf() but accepts an array of arguments, rather than a variable number of arguments.
stream
format
   Рядок формату складається з нуля або більше директив: звичайних символів
   (крім %), які відображаються в результаті без змін, та
   специфікаторів перетворення, для кожного з яких
   задається свій параметр.
  
   Специфікатор перетворення відповідає прототипу:
   %[argnum$][flags][width][.precision]specifier.
  
    Ціле число, слідом за ним — знак долара $. Вказує
    порядковий номер параметра для перетворення.
   
| Позначення | Опис | 
|---|---|
| - | Вирівнює по лівому краю в межах заданої ширини. Праве вирівнювання виконується автоматично. | 
| + | Дописує до додатнього числа знак +. Знак мінуса до
        від'ємного числа дописується автоматично. | 
|  (пропуск) | Доповнює результат пропусками. Також виконується автоматично. | 
| 0 | Доповнює число нулями ліворуч. Разом зі специфікатором sдоповнює число нулями також праворуч. | 
| '(символ) | Доповнює рядок символом (символ). | 
    Може бути цілим числом, що вказує найменшу кількість символів в значенні
    після перетворення, або знак *. Якщо використано
    знак *, то ширина вказується як додаткове ціле число,
    що передує значенню, відформатованому специфікатором.
   
    Крапка ., за якою (необов'язково) слідує ціле число
    чи знак *, значення якого залежить від специфікатора:
    
e, E,
       f і F — це кількість знаків, що
       будуть надруковані після десяткового розділювача (початково: 6).
      
     g, G,
       h і H — найбільша допустима
       кількість значущих цифр, що будуть надруковані.
      
     s — діє як точка відсікання,
       встановлюючи максимальну кількість символів у рядку.
      
     Зауваження: Якщо крапку вказано без зазначення точності, тоді точністю вважатиметься 0. Якщо використано знак
*, то точність вказується як додаткове ціле число, що передує значенню, відформатованому специфікатором.
| Назва | Опис | 
|---|---|
| % | Буквальний знак відсотка. Ніяких параметрів не потрібно. | 
| b | Параметр розглядається як ціле число і відображається як двійкове число. | 
| c | Параметр розглядається як ціле число і відображається як символ з таким кодом ASCII. | 
| d | Параметр розглядається як ціле число і відображається як знакове десяткове число. | 
| e | Параметр розглядається як експоненційний запис (напр. 1.2e+2). | 
| E | Схожий до специфікатора e, але використовує знак
        експоненти з великої букви (напр. 1.2E+2). | 
| f | Параметр розглядається і відображається як десятковий дріб (з урахуванням локалі). | 
| F | Параметр розглядається і відображається як десятковий дріб (БЕЗ урахування локалі). | 
| g | Загальний формат. 
         Нехай  Якщо P > X ≥ −4, перетворення буде в стилі "f" та з точністю P − (X + 1). Інакше, перетворення буде в стилі "e" та з точністю P − 1. | 
| G | Схожий до специфікатора g, але використовуєEтаf. | 
| h | Схожий до специфікатора g, але використовуєF. Доступний, починаючи з PHP 8.0.0. | 
| H | Схожий до специфікатора g, але використовуєEтаF. Доступний, починаючи з
        PHP 8.0.0. | 
| o | Параметр розглядається як ціле число і відображається як вісімкове число. | 
| s | Параметр розглядається і відображається як рядок. | 
| u | Параметр розглядається як ціле число і відображається як беззнакове десяткове число. | 
| x | Параметр розглядається як ціле число і відображається як шіснадцяткове число (з малими буквами). | 
| X | Параметр розглядається як ціле число і відображається як шіснадцяткове число (з великими буквами). | 
    Специфікатор "c" ігнорує заповнення та ширину.
   
Спроба використати разом рядковий специфікатор та специфікатор ширини з символами, що займають більше одного байта, може призвести до неочікуваного результату.
Змінні будуть приведені до відповідного типу для специфікатора:
| Тип | Специфікатор | 
|---|---|
| string | s | 
| int | d,u,c,o,x,X,b | 
| float | e,E,f,F,g,G,h,H | 
values
Returns the length of the outputted string.
   Починаючи з PHP 8.0.0, якщо не задано жодного параметра, то викидається
   ValueError. Раніше виводилось повідомлення
   E_WARNING.
  
   Починаючи з PHP 8.0.0, якщо значення [width] менше за нуль
   або більше за PHP_INT_MAX, то викидається
   ValueError. Раніше виводилось повідомлення
   E_WARNING.
  
   Починаючи з PHP 8.0.0, якщо значення [precision] менше за
   нуль або більше за PHP_INT_MAX, то викидається
   ValueError. Раніше виводилось повідомлення
   E_WARNING.
  
   Починаючи з PHP 8.0.0, якщо якщо не задано обов'язкові параметри, то
   викидається ValueError. Раніше функція повертала
   false, а також виводилося повідомлення E_WARNING.
  
| Версія | Опис | 
|---|---|
| 8.0.0 | Ця функція більше не повертає falseу разі помилки. | 
| 8.0.0 | Викидає ValueError, якщо не задано жодного
       параметра. Раніше ця функція виводила E_WARNING. | 
| 8.0.0 | Викидає ValueError, якщо значення [width]менше за нуль або більше заPHP_INT_MAX. Раніше ця функція виводилаE_WARNING. | 
| 8.0.0 | Викидає ValueError, якщо значення [precision]менше за нуль або більше заPHP_INT_MAX. Раніше ця функція виводилаE_WARNING. | 
| 8.0.0 | Викидає ValueError, якщо не задано
       обов'язкові параметри. Раніше ця функція виводила E_WARNING. | 
Приклад #1 vfprintf(): zero-padded integers
<?php
if (!($fp = fopen('date.txt', 'w')))
    return;
$year = 2025;
$month = 5;
$day = 6;
vfprintf($fp, "%04d-%02d-%02d", array($year, $month, $day));
// will write the formatted ISO date to date.txt
?>
