Функция 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'