Строка формата состоит из директив: обычных символов (за исключением %), которые копируются в результирующую строку, и описатели прреобразований, каждый из которых заменяется на один из параметров. Это относится к функциям fprintf(), sprintf() и printf().
Каждый описатель прреобразований состоит из знака процента (%), за которым следует один или более дополнительных элементов (в том порядке, в котором они здесь перечислены):
- Необязательный описатель заполнения, который определяет, какой символ будет использоваться для дополнения результата до необходимой длины. Это может быть пробел или 0. По умолчанию используется пробел. Альтернативный символ может быть указан с помощью '. См. примеры ниже.
- Необязательный описатель выравнивания, определяющий выравнивание влево или вправо. По умолчанию выравнивается вправо, - используется для выравнивания влево.
- Необязательное число, описатель ширины, определяющий минимальное число символов, которое будет содержать результат этого преобразования.
- Необязательный описатель точности, определяющий, сколько десятичных разрядов отображать для чисел с плавающей точкой. Имеет смысл только для числовых данных типа float. (Для форматирования чисел удобно также использовать функцию number_format().)
- Описатель типа, определяющий, как трактовать тип данных аргумента. Допустимые типы:
% - символ процента. Аргумент не используется.
b - аргумент трактуется как целое и выводится в виде двоичного числа.
c - аргумент трактуется как целое и выводится в виде символа с соответствующим кодом ASCII.
d - аргумент трактуется как целое и выводится в виде десятичного числа со знаком.
u - аргумент трактуется как целое и выводится в виде десятичного числа без знака.
f - аргумент трактуется как float и выводится в виде десятичного числа с плавающей точкой.
o - аргумент трактуется как целое и выводится в виде восьмеричного числа.
s - аргумент трактуется как строка.
x - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в нижнем регистре букв).
X - аргумент трактуется как целое и выводится в виде шестнадцатиричного числа (в верхнем регистре букв).
Пример заполнения нулями:
Пример кода
<?php
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
?>
Пример кода
<?php
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money выведет "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted выведет "123.10"
?>