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