#3. 2 php Форматирование строк
Primary tabs
Часто встречается задача представления различных данных в строковом виде, например, для вывода на экран. Для этого идеально подходят две функции — printf()
и sprintf()
. printf()
сразу выводит результат на экран, a sprintf()
возвращает его в виде строки. Ниже приведен синтаксис этих функций (здесь и далее аргументы в квадратных скобках являются необязательными):
printf (формат [, аргументы])
sprintf (формат [, аргументы])
Строка формата состоит из нескольких директив (в предельном случае она может быть и пуста, но тогда и результат будет пустой строкой). Каждая директива представляет собой символы, которые копируются без изменений, или спецификацию формата. Спецификация формата начинается со знака процента (%
), после которого следуют по порядку один или несколько элементов:
- Необязательный описатель заполнения, определяющий, какой символ будет использоваться для дополнения результата до требуемой длины. Это может быть пробел (по умолчанию) или $0$.
- Необязательный символ
-
(минус), который задает выравнивание результата влево. По умолчанию результат выравнивается вправо. - Необязательное число, задающее минимальное число символов в результате форматирования.
- Необязательный описатель точности, определяющий, сколько десятичных разрядов отображать для чисел с плавающей точкой. Записывается как точка с числом после нее. Имеет смысл только для числовых данных типа
float
. - Описатель типа данных аргумента — символ.
Ниже перечислены допустимые описатели типов данных:
%
Применяется для вывода символа процента. Аргумент не используется.b
Аргумент считается целым числом и выводится в виде двоичного числа.с
Аргумент считается целым числом и выводится в виде символа с соответствующим кодом ASCII.d
Аргумент считается целым числом и выводится в виде десятичного числа со знаком.е
Аргумент считается вещественным числом (float
) и выводится в экспоненциальном виде, например1.2е+2
.f
Аргумент считается вещественным числом (float
) и выводится в виде десятичного числа.о
Аргумент считается целым числом и выводится в виде восьмеричного числа.s
Аргумент считается строкой и выводится как строка.u
Аргумент считается целым числом и выводится в виде целого числа без знака.х
Аргумент считается целым числом и выводится в виде шестнадцате- ричного числа, используются прописные буквы.X
Аргумент считается целым числом и выводится в виде шестнадцате- ричного числа, используются строчные буквы.
Эти функции особенно удобны для работы с вещественными числами. Например, спецификация формата "%f6.2"
описывает вещественное число, которое займет $6$ знаков, из них два знака будет отведено на дробную часть числа. Ниже приведен пример использования рассматриваемых функций.
<?php printf ("У меня %s яблок и %s апельсинов. <BR>" , 6, 56) ; $уеаг = 2005; $month = 4; $day = 28; $price = 5999.99; printf("\$%01.2f<BR>", $price); printf("%6.2f<BR>", 1.2); printf("%6.2f<BR>", 10.2) ; printf("%6.2f<BR>", 100.2) ; $string = sprintf ("Сейчас у меня %s яблок и %s апельсинов.<BR>", 5, 45); echo $string; ?>
В этом примере представлен широкий спектр типов данных. Вот что будет выведено на экран в результате:
У меня б яблок и 56 апельсинов.
$5999.99
1.20
10.20
100.20
Сейчас у меня 5 яблок и 45 апельсинов.
- Log in to post comments
- 239 reads