Примеры форматирования текста с помощью printf/sprintf

printf("как форматировать", парметр1, параметр2, ...) -- выводит результат на экран

$result=sprintf("..", .., .., ...) - тоже самое, только строка не выводиться, а помещается в $result

Цитата из перевода мануала (ПРИМЕРЫ ниже :-):

sprintf

sprintf -- возвращает форматированную строку
Описание
sprintf(string format, mixed [args]...);

Возвращает строку, обрабатываемую в соответствии с форматирующей строкой format.

Форматирующая строка, содержащая ноль или более директив: обычные символы (кроме %) которые копируются прямо в результат, и that are copied directly to the result, и описания изменений, каждое из которых выполняет определенные действия. Это применительно и к sprintf() и к printf()

Каждое описание изменений состоит из следующих элементов, в порядке:

  1. Дополнительный описатель заполнения, который говорит, какие символы будут использоваться для заполнения результата до правильног размера строки. Это могут быть пробелы или 0 (символ нуля). По умолчанию заполняется пробелами. Алтернативный символ заполнения может быть определен одинарной кавычкой ('). См. примеры ниже.

  2. Дополнительный описатель выравнивания , который говорит, что результат должен быть выравнен по левому или по правому краю. По умолчанию выравнивание происходит по правому краю; символ - приведет к вырвниванию по левому краю.

  3. Дополнительный описатель ширины, который говорит, с каким количеством символов (минимум) пожет производится данная замена.

  4. Дополнительный описатель точности, который говорит, сколько десятичных знаков следует отображать для чисел с плавающей точкой. Этот описатель не действует на остальные типы, кроме double. (другая полезная функция для форматирования чисел это number_format().)

  5. Описатель типа, который говорит о том, как тип данных аргумента должен трактоваться. Возможные типы:
    % - символ процента. Аргумент не требуется.
    b - аргумент трактуется как integer и представляется как двоичное число.
    c - аргумент трактуется как integer и представляется как символ с ASCII значением.
    d - аргумент трактуется как integer и представляется как десятичное число.
    f - аргумент трактуется как double и представляется как число с плавающей точкой.
    o - аргумент трактуется как integer и представляется как восьмиричное число.
    s - аргумент трактуется и представляется как строка.
    x - аргумент трактуется как integer и представляется как шестнадцатиричное число (с буквами в нижнем регистре).
    X - аргумент трактуется как integer и представляется как шестнадцатиричное число (с буквами в верхнем регистре).

См. также: printf(), number_format()

Примеры

Пример 1. sprintf: числа с нулями

$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);

Пример 2. sprintf: форматирование денежной еденицы

$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money will output "123.1";
$formatted = sprintf ("%01.2f", $money);
// echo $formatted will output "123.10"

Примеры

Все то, что записано >>> между таких скобок <<< является результатом работы фукнции (т.е. пример вывода на экран)
$s='MyString';  -> строка   %s
$f=12345.6789;  -> дробное  %f
$d=12345;       -> целое    %d  10-я система: 0123456789
                   16числа  %x  16-я система: 0123456789abcdef
                   16числа  %X  16-я система: 0123456789ABCDEF
                   8числа   %o  8-я система:  01234567
                   2числа   %b  2-я система:  01

просто выводим число:
printf("%d",$d);   >>> 12345 <<<

просто выводим 16число:
printf("%X",123456789);   >>> 75BCD15 <<<

просто выводим 2число:
printf("%b",$d);   >>> 11000000111001 <<<

просто выводим дробное число:
printf("%f",$f);   >>> 12345.6789 <<<

дополнение чисел нулями:
printf("%010d",$d); >>> 0000012345 <<<

округление до 3х знаков после запятой:
printf("%.3f",$f); >>> 12345.679 <<<

просто выводим число + посторонний текст:
printf("посторонний%dтекст",$d);   >>> посторонний12345текст <<<

вывод нескольких переменных - последовательное перечисление 
printf("%d-%f-%s",$d,$f,$s);   >>> 12345-12345.678900-MyString <<<

выравнивание (ширина 20 символов) по правому краю, пустоту заполняем '_':
printf("%'_20s",MyString);  >>> ____________MyString <<< 

выравнивание по левому краю, пустоту заполняем 'x':
printf("%-'x20s",MyString);  >>> MyStringxxxxxxxxxxxx <<< 

Кучу другиих примеров, по выводу чисел смотрим тут:
  • http://php.net/manual/function.number-format.php
  • http://php.net/manual/function.sprintf.php