Skip to content

Latest commit

 

History

History
executable file
·
105 lines (77 loc) · 5.62 KB

3.2_Formatirovanie-strok.md

File metadata and controls

executable file
·
105 lines (77 loc) · 5.62 KB

3.2 PHP Форматирование строк

Часто встречается задача представления различных данных в строковом виде, например, для вывода на экран. Для этого идеально подходят две функции — printf() и sprintf(). printf() сразу выводит результат на экран, a sprintf() возвращает его в виде строки. Ниже приведен синтаксис этих функций (здесь и далее аргументы в квадратных скобках являются необязательными):

printf (формат [, аргументы])
sprintf (формат [, аргументы])

Строка формата состоит из нескольких директив (в предельном случае она может быть и пуста, но тогда и результат будет пустой строкой). Каждая директива представляет собой символы, которые копируются без изменений, или спецификацию фотмата. Спецификация формата начинается со знака процента (%), после которого следуют по порядку один или несколько элементов:

  • Необязательный описатель заполнения, определяющий, какой символ будет использоваться для дополнения результата до требуемой длины. Это может быть пробел (по умолчанию) или 0.

  • Необязательный символ «-» (минус), который задает выравнивание результата влево. По умолчанию результат выравнивается вправо.

  • Необязательное число, задающее минимальное число символов в результате форматирования.

  • Необязательный описатель точности, определяющий, сколько десятичных разрядов отображать для чисел с плавающей точкой. Записывается как точка с числом после нее. Имеет смысл только для числовых данных типа float.

  • Описатель типа данных аргумента — символ.

Ниже перечислены допустимые описатели типов данных:

% Применяется для вывода символа процента. Аргумент не используется.

b Аргумент считается целым числом и выводится в виде двоичного числа.

с Аргумент считается целым числом и выводится в виде символа с соответствующим кодом ASCII.

d Аргумент считается целым числом и выводится в виде десятичного числа со знаком.

е Аргумент считается вещественным числом (float) и выводится в экспоненциальном виде, например 1.2е+2.

f Аргумент считается вещественным числом (float) и выводится в виде десятичного числа.

о Аргумент считается целым числом и выводится в виде восьмеричного числа.

s Аргумент считается строкой и выводится как строка.

и Аргумент считается целым числом и выводится в виде целого числа без знака.

х Аргумент считается целым числом и выводится в виде шестнадцате- ричного числа, используются прописные буквы.

X Аргумент считается целым числом и выводится в виде шестнадцате- ричного числа, используются строчные буквы.

Эти функции особенно удобны для работы с вещественными числами. Например, спецификация формата %f6.2 описывает вещественное число, которое займет 6 знаков, из них два знака будет отведено на дробную часть числа. Ниже приведен пример использования рассматриваемых функций.

<?php
    printf ("У меня %s яблок и %s апельсинов. \n" , 6, 56) ;
    $уеаг = 2005;
    $month = 4;
    $day = 28;
    $price = 5999.99;
    printf("\$%01.2f\n", $price);
    printf("%6.2f\n", 1.2);
    printf("%6.2f\n", 10.2) ;
    printf("%6.2f\n", 100.2) ;
    $string = sprintf ("Сейчас у меня %s яблок и %s апельсинов.", "\n" , 5,45);
    echo $string;
?>

В этом примере представлен широкий спектр типов данных. Вот что будет выведено на экран в результате:

У меня б яблок и 56 апельсинов.
$5999.99
1.20
10.20
100.20
Сейчас у меня 5 яблок и 45 апельсинов.