Описание
string
sprintf
( string format [, mixed args] )
Возвращает строку, созданную с использованием строки формата
format
.
Строка формата состоит из директив:
обычных символов (за исключением %
), которые
копируются в результирующую строку, и описатели
преобразований
, каждый из которых заменяется на один из
параметров. Это относится также к fprintf()
,
sprintf()
и printf()
.
Каждый описатель прреобразований состоит из знака процента
(%
), за которым следует один или более
дополнительных элементов (в том порядке, в котором они здесь
перечислены):
Необязательный описатель заполнения
, который
определяет, какой символ будет использоваться для дополнения
результата до необходимой длины. Это может быть пробел или
0
. По умолчанию используется пробел.
Альтернативный символ может быть указан с помощью '
.
См. примеры ниже.
Необязательный описатель выравнивания
,
определяющий выранивание влево или вправо. По умолчанию
выравнивается вправо, -
используется для
выравнивания влево.
Необязательное число, описатель ширины
,
определяющий минимальное число символов, которое будет содержать
результат этого преобразования.
Необязательный описатель точности
,
определяющий, сколько десятичных разрядов отображать для чисел с
плавающей точкой. Имеет смысл только для числовых данных типа
float
. (Для форматирования чисел удобно также
использовать функцию number_format()
.)
Описатель типа
, определяющий, как трактовать
тип данных аргумента. Допустимые типы:
%
- символ процента. Аргумент не
используется.
|
b
- аргумент трактуется как целое и выводится
в виде двоичного числа.
|
c
- аргумент трактуется как целое и выводится
в виде символа с соответствующим кодом ASCII.
|
d
- аргумент трактуется как целое и выводится
в виде десятичного числа со знаком.
|
e
- аргумент трактуется как float
и выводится
в научной нотации (например 1.2e+2).
|
u
- аргумент трактуется как целое и выводится
в виде десятичного числа без знака.
|
f
- аргумент трактуется как float
и выводится
в виде десятичного числа с плавающей точкой.
|
o
- аргумент трактуется как целое и выводится
в виде восьмеричного числа.
|
s
- аргумент трактуется как строка.
|
x
- аргумент трактуется как целое и выводится
в виде шестнадцатиричного числа (в нижнем регистре букв).
|
X
- аргумент трактуется как целое и выводится
в виде шестнадцатиричного числа (в верхнем регистре букв).
|
Начиная с PHP 4.0.6 в строке формата поддерживается нумерация и изменение
порядка параметров. Например:
Этот код выведет "There are 5 monkeys in the tree". Теперь
представьте, что строка формата содержится в отдельном файле, который
потом будет переведен на другой язык, и мы переписываем ее в таком
виде:
Появляется проблема: порядок описателей преобразования не соответствует
порядку аргументов. Мы не хотим менять код, и нам нужно указать,
какому аргументу соответствует тот или иной описатель преобразования.
Нумерация аргументов имеет еще одно применение: она позволят вывести
один и тот же аргумент несколько раз без передачи функции
дополнительных параметров.
См. также описание функций printf()
,
sscanf()
, fscanf()
,
vsprintf()
и
number_format()
.