На этом шаге мы рассмотрим особенности использования функции printf().
До этого мы выводили строки в окне браузера с помощью команды echo. Однако в РНР имеется еще несколько способов, например с помощью функции printf().
На рисунке 1 приведен общий вид этой функции:
Рис.1. Общий вид функции printf()
Она выводит строку в определенном формате, который задает программист. Например:
<?php
$str = "Число 8 в двоичном представлении: %b";
printf($str, 8);
// выводит: Число 8 в двоичном представлении: 1000
?>
Первым аргументом функции printf() является строка для вывода. Ее формат определяется с помощью сочетания специальных символов. В данном случае это символ "%", который всегда ставится первым, и буква b, определяющая двоичный формат вывода целого числа. Это число передается в качестве следующего входного параметра. Заметьте, что сначала оно преобразуется к целому числу, а затем выводится в двоичном представлении.
В строке имеется возможность вставить несколько различных комбинаций специальных символов, при этом их количество должно совпадать с числом параметров функции printf().
<?php $str = "Двоичное и восьмеричное представление числа 12: %b и %o"; /* выведет: Двоичное и восьмеричное представление числа 12: 1100 и 14 */ printf($str, 12, 12); ?>
Буква "o" указывает на вывод целого числа в восьмеричном представлении. Полный список специальных символов представлен в таблице 1.
Символ | Описание |
---|---|
b | Параметр преобразуется в целое и выводится в виде двоичного числа |
с | Параметр преобразуется в целое и выводится в виде символа с соответствующим кодом ASCII |
d | Параметр преобразуется в целое и выводится в виде десятичного числа со знаком |
e | Параметр преобразуется в вещественное число и выводится в научной нотации (например: 1.2e+2) |
u | Параметр преобразуется в целое и выводится в виде десятичного числа без знака |
f | Параметр преобразуется в вещественное число и выводится в виде двоичного числа |
о | Параметр преобразуется в целое и выводится в виде восьмеричного числа |
s | Параметр преобразуется в строку |
x | Параметр преобразуется в целое и выводится в виде шестнадцатеричного числа (в нижнем регистре) |
X | Параметр преобразуется в целое и выводится в виде шестнадцатеричного числа (в верхнем регистре) |
Также имеется возможность выравнивания текста. Например:
<pre> <?php $str = "%10s"; printf($str, "Привет"); ?> </pre>
Результат выполнения этой программы смотрите на рисунке 2.
Рис.2. Пример вывода строки
Обратите внимание, что выравнивание текста происходит по правому краю поля. Таким способом очень удобно выводить табличные данные.
Если требуется выравнивание по левому краю, то нужно использовать такую же запись, но со знаком минус (-):
<?php $str = "%-10s"; printf($str, "Привет"); ?> </pre>
Помимо этого, с помощью функции printf() можно задавать точность выводимого числа, автоматически дополнять недостающие символы и многое другое.
На следующем шаге мы рассмотрим определение длины строки.