Функция vsprintf
Функция vsprintf
аналогична sprintf
, но принимает аргументы в виде массива,
а не переменного числа параметров. Первым параметром передается строка-шаблон с
спецификаторами формата, вторым - массив значений для подстановки. В строке формата используются специальные символы (форматные спецификаторы), которые начинаются со знака %
и управляют форматированием вывода.
Синтаксис
vsprintf(string $format, array $args);
Форматные спецификаторы
Спецификатор | Описание |
---|---|
%s |
Строка |
%d |
Целое число со знаком (десятичное) |
%u |
Целое число без знака (десятичное) |
%f |
Число с плавающей точкой (локаль-зависимое) |
%F |
Число с плавающей точкой (не локаль-зависимое) |
%c |
Символ по ASCII-коду |
%x |
Целое число в шестнадцатеричной системе (нижний регистр) |
%X |
Целое число в шестнадцатеричной системе (верхний регистр) |
%o |
Целое число в восьмеричной системе |
%b |
Целое число в двоичной системе |
%e |
Научная нотация (нижний регистр) |
%E |
Научная нотация (верхний регистр) |
%g |
Короткая запись %e или %f |
%G |
Короткая запись %E или %F |
%% |
Знак процента |
Пример
Базовый пример форматирования строки с подстановкой значений:
<?php
$res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
echo $res;
?>
Результат выполнения кода:
'Hello John! Today is Monday.'
Пример
Использование разных спецификаторов формата:
<?php
$res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
echo $res;
?>
Результат выполнения кода:
'2023-05-12'
Пример
Работа с числами с плавающей точкой:
<?php
$res = vsprintf('Price: $%.2f', [19.99]);
echo $res;
?>
Результат выполнения кода:
'Price: $19.99'