Форматированный вывод строк в 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
Рекомендуем почитать