#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
- 637 reads