Форматированный вывод строк в PHP

В PHP есть две функции, позволяющие отформатировать данные перед выводом:

  • printf() - выводит отформатированную строку в окно браузера;
  • sprintf() - выводит отформатированную строку в переменную. Далее можно использовать для записи в файл с помощью функции fputs().

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

  • указатель заполнения используется, если необходимо увеличить размер строки. По умолчанию выполняется заполнение пробелами. Можно указать и 0. Перед любым другим символом заполнения надо поставить одинарную кавычку ('). Необязательный параметр;
  • указатель выравнивания, заданный знаком минус (-), определяет выравнивание влево. По умолчанию выполняется выравнивание вправо. Необязательный параметр;
  • указатель ширины задает количество символов, которое должно содержаться в выводимых данных. Необязательный параметр;
  • указатель точности задает количество десятичных знаков, отображаемых для чисел с плавающей запятой. Необязательный параметр;
  • указатель типа задает тип, в соответствии с которым следует обрабатывать выводимые данные. Возможные значения:
    d десятичное число
    b двоичное число
    c ASCII-эквивалент
    f число с плавающей точкой двойной точности
    o восьмеричное число
    s строка
    x шестнадцатеричное число в нижнем регистре
    X шестнадцатеричное число в верхнем регистре

Пример 1

 

<html>
<head><title>Форматирование вывода в окно браузера</title></head>
<body>
<?php
$TOVARY = array ("помидоры" => 15, "огурцы" => 11, "картофель" => 10);
echo "<pre>";
printf ("%-25s%25sn%'=50sn", "Наименование", "Цена", "");
foreach ($товары as $NAME => $PRICE)
printf ("%'.-25s%'.22.2fn", $NAME, $PRICE);
echo "</pre>";
?>
</body></html>

 

Результат примера:
Наименование                                  Цена        
==================================================
помидоры.....................................15.00
огурцы.......................................11.00
картофель....................................10.00



Рекомендуем почитать

 

Добавить комментарий


Ваше имя:


Комментарий:


Введите: Картинка