Сегодня речь пойдет о функции
sprintf. Она предоставляет целый спектр возможностей для форматирования текста.
Напомним основное. Таково описание функции.
string sprintf ( string format [, mixed args] )
где
$format - это некий шаблон, в который в результате выполнения функции подставляются заданные нами значения
$args
Например, с помощью
sprintf можно форматировать число, дополняя его нулями до нужной нам длины. Делается это так:
print(sprintf("Это %03d", 15));
Получим вывод:
Это 015
Расшифруем шаблон "Это %03d", который мы передали функции.
Все шаблоны для подстановки начинаются с символа "%".
Мы задали аргумент 15 и этим шаблоном показали функции отформатировать число так, чтобы оно состояло из 3 символов - "Это %0
3d".
Также, тот факт, что недостаюшие символы дополнились нулями, не случаен - мы задали это в шаблоне, написав "Это %
03d".
Мы могли написать так "Это %3d", тогда недостаюшие символы дополнились бы пробелами. Потому что пробел - это значение по умолчанию.
Также значением по умолчанию является и тот факт, что дополнение нулей происходит слева.
В нашем примере мы передавали в качестве аргумента 15, т.е. значение типа integer. Символ "d" появляется в шаблоне в связи с этим. В этом случае аргумент трактуется как integer. "Это %03
d". Если бы в качестве аргумента нужно было передать строку, мы бы использовали "s" вместо "d".
А вдруг нам не нужны нули, а нужен, например, символ "$"?
Тогда нам следует воспользоваться символом "
' ".
Шаблон будет выглядеть так: "%
'$3d"
Получим вывод:
$15
Если мы хотим, чтобы дополнение происходило не с левой, а с правой стороны, то нужно воспользоваться символом "-"
Шаблон будет выглядеть так: "%'$
-3d"
На этот раз получим вывод:
15$
Это только малая доля возможностей, предоставленных функцией
sprintf, которые более подробно можно изучить конечно же в мануале ;).