PHP скрипты

MySQL

Apache

phpMyADmin

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

Главная Страница » Самоучитель PHP 5 для чайников с примерами » Форматированный вывод строк PHP

До этого мы выводили строки в окне браузера с помощью команды echo. Однако в PHP имеется еще несколько способов, например с помощью функции printf(). Функция printf() очень похожа (хотя бы по названию) на ту, которая существует в языке Си. Она выводит строку в определенном формате, который задает программист (листинг 9.8).

Листинг 9.8. Форматный вывод строки.

‹html›
‹head›
‹title› Форматный вывод строки ‹/title›
‹/head›
‹body›
‹?php
$str = "Число 8 в двоичном представлении: %b";
// выводит: Число 8 в двоичном представлении: 1000
printf($str, 8);
?›
‹/body›
‹/html›

Первым аргументом функции printf () является строка для вывода. Ее формат определяется с помощью сочетания специальных символов. В данном случае это символ %, который всегда ставится первым, и буква b, определяющая двоичный формат вывода целого числа. Это число передается в качестве следующего входного параметра. Заметьте, что сначала оно преобразуется к целому числу, а затем выводится в двоичном представлении.

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

Листинг 9.9. Вывод числа в двоичном и восьмеричном представлении.

‹html›
‹head›
‹title› вывод числа в двоичном и восьмеричном представлении ‹/title›
‹/head›
‹body›
‹?php
$str = "Двоичное и восьмеричное представление числа 12: %b и %o";
// выведет: Двоичное и восьмеричное представление числа 12: 1100 и 14
printf($str, 12, 12);
?›
‹/body›
‹/html›

Как вы, наверное, догадались, буква 'o' указывает на вывод целого числа в восьмеричном представлении. Полный список специальных символов представлен ниже в таблице.

Символ Описание
b Параметр преобразуется в целое и выводится в виде двоичного числа
с Параметр преобразуется в целое и выводится в виде символа с соответствующим кодом ASCII
d Параметр преобразуется в целое и выводится в виде десятичного числа со знаком
u Параметр преобразуется в целое и выводится в виде десятичного числа без знака
f Параметр преобразуется в вещественное число и выводится в виде двоичного числа
o Параметр преобразуется в целое и выводится в виде восьмеричного числа
s Параметр преобразуется в строку
x Параметр преобразуется в целое и выводится в виде шестнадцатеричного числа (в нижнем регистре)
X Параметр преобразуется в целое и выводится в виде шестнадцатеричного числа (в верхнем регистре)

По желанию можно задать ширину поля для вывода значения параметра (листинг 9.10).

Листинг 9.10. Вывод строки в поле определенной ширины.

‹html›
‹head›
‹title› вывод строки в поле определенной ширины ‹/title›
‹/head›
‹body›
‹pre›
‹?php
$str = "%10s";
printf($str, "Hello");
?›
‹/pre›
‹/body›
‹/html›

Результат выполнения этой программы смотрите на рисунке.

вывод строки в поле определенной ширины

Обратите внимание, что выравнивание текста происходит по правому краю поля. Таким способом очень удобно выводить табличные данные. Попробуете поэкспериментировать самостоятельно.

Если требуется выравнивание по левому краю, то нужно использовать такую же запись, но со знаком минус (-) - листинг 9.11.

Листинг 9.11. Выравнивание по левому краю.

‹html›
‹head›
‹title› выравнивание по левому краю ‹/title›
‹/head›
‹body›
‹pre›
‹?php
$str = "%-10s";
printf($str, "Hello");
?›
‹/pre›
‹/body›
‹/html›

Помимо этого, с помощью функции printf() можно задавать точность выводимого числа, автоматически дополнять недостающие символы и многое другое. Более полную информацию об этой функции вы сможете найти в любом справочнике по PHP. Мы же перейдем к краткому рассмотрению других функций PHP для работы со строками.

Поделиться с друзьями