Функция 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,
    която извежда форматиран низ