Функцијата 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'