ВНИМАНИЕ: Запись на курсы по HTML, CSS, JavaScript, PHP, Python, React, Vue, Laravel и другим фреймворкам и CMS,
а также: помощь в поиске работы и заказов, стажировка на реальных проектах→
121 of 410 menu
Вступайте в телеграмм-канал сайта code.mu: новинки, статьи, интервью, задачи, бесплатные курсы и тренинги. Жми для вступления:)

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

Смотрите также

  • функцию sprintf,
    которая форматирует строку с переменным числом аргументов
  • функцию printf,
    которая выводит отформатированную строку
byenru