Функцијата vsprintf

Функцијата vsprintf е аналогна на sprintf, но ги прифаќа аргументите во вид на низа, наместо променлив број на параметри. Како прв параметар се пренесува низа-шаблон со спецификатори на формат, како втор - низата на вредности за замена. Во низата за формат се користат специјални знаци (форматни спецификатори), кои започнуваат со знакот % и го контролираат форматирањето на излезот.

Синтакса

phpvsprintf(string $format, array $args);

Форматни спецификатори

Спецификатор Опис
%s Низа
%d Цел број со знак (децимален)
%u Цел број без знак (децимален)
%f Број со подвижна точка (зависен од локалот)
%F Број со подвижна точка (не зависен од локалот)
%c Знак според ASCII-кодот
%x Цел број во хексадецимален систем (мали букви)
%X Цел број во хексадецимален систем (големи букви)
%o Цел број во октален систем
%b Цел број во бинарен систем
%e Научна нотација (мали букви)
%E Научна нотација (големи букви)
%g Кратка нотација %e или %f
%G Кратка нотација %E или %F
%% Знак за процент

Пример

Основен пример за форматирање на низа со замена на вредности:

php<?php
  $res = vsprintf('Hello %s! Today is %s.', ['John', 'Monday']);
  echo $res;
?>

Резултат од извршување на кодот:

php'Hello John! Today is Monday.'

Пример

Употреба на различни спецификатори на формат:

php<?php
  $res = vsprintf('%04d-%02d-%02d', [2023, 5, 12]);
  echo $res;
?>

Резултат од извршување на кодот:

php'2023-05-12'

Пример

Работа со броеви со подвижна точка:

php<?php
  $res = vsprintf('Price: $%.2f', [19.99]);
  echo $res;
?>

Резултат од извршување на кодот:

php'Price: $19.99'

Погледни исто така

  • функцијата sprintf,
    која форматира низа со променлив број на аргументи
  • функцијата printf,
    која ја печати форматираната низа