П О Р Т А Л                            
С Е Т Е В Ы Х                          
П Р О Е К Т О В                        
  
Поиск по сайту:
                                                 
Главная

О проекте

Web-мастеру
     HTML & JavaScript
     SSI
     Perl
     PHP
     XML & XSLT
     Unix Shell

MySQL

Безопасность

Хостинг

Другое








Самое читаемое:

Учебник PHP - "Для Чайника".
Просмотров 186142 раз(а).

Иллюстрированный самоучитель по созданию сайтов.
Просмотров 87494 раз(а).

Учебник HTML.
Просмотров 79648 раз(а).

Руководство по PHP5.
Просмотров 50147 раз(а).

Хостинг через призму DNS.
Просмотров 57864 раз(а).

Подборка текстов стандартных документов.
Просмотров 49163 раз(а).

Учебник PHP - Самоучитель
Просмотров 55996 раз(а).

Документация на MySQL (учебник & справочное руководство)
Просмотров 57371 раз(а).

Внешние атаки...
Просмотров 46703 раз(а).

Учебник PHP.
Просмотров 41067 раз(а).

SSI в примерах.
Просмотров 31348 раз(а).



 
 
| Добавить в избранное | Сделать стартовой | Помощь





Учебник РНР
Назад Вперёд

sprintf

(PHP 3, PHP 4)

sprintf - возвращает отформатированную строку.

Описание

string sprintf (string format [, mixed args])

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

Строка форматирования состоит из 0 или более директив: обычных символов (исключая %), которые копируются прямо в результат, и спецификаций конвертации, каждая из которых приводит к извлечению её собственного параметра. Это применяется к sprintf() и к printf().

Каждая спецификация конвертации состоит из знака процентов (%) с последующим одним или более из следующих элементов, в данном порядке:

  1. Необязательный padding-спецификатор, который сообщает, какой символ будет использоваться для заполнения результатов до размера строки. Это может быть символ space/пробел или 0 (символ нуль). По умолчанию заполняется пробелами. Альтернативный заполнитель может быть специфицирован с помощью префикса - одинарной кавычки ('). См. примеры далее.

  2. Необязательный alignment-спецификатор, который сообщает, должен ли результат выравниваться влево или вправо (left-justified или right-justified). По умолчанию right-justified; символ - здесь делает left-justified.

  3. Необязательное число, width-спецификатор, который сообщает, сколько символов (минимум) должна дать эта конвертация.

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

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

Как и в PHP версии 4.0.6, строка форматирования поддерживает нумерацию/обмен аргументов (numbering/swapping). Вот пример:
Пример 1. Обмен/swapping аргументов
$format = "There are %d monkeys in the %s";
printf($format,$num,$location);

Это выведет "There are 5 monkeys in the tree". Но представьте, что мы создаём строку форматирования в отдельном файле, что является обычным, поскольку мы хоти интернационализировать её, и мы переписываем:

Пример 2. Обмен аргументов
$format = "The %s contains %d monkeys";
printf($format,$num,$location);

Вот мы и получили проблему. Порядок заглушек в строке формата не совпадает с порядком аргументов в коде. Мы хотели бы оставить код без изменений и просто указать в строке формата, к каким аргументам относятся заглушки строки формата. Теперь запишем строку формата так:

Пример 3. Обмен аргументов
$format = "The %2\$s contains %1\$d monkeys";
printf($format,$num,$location);

Теперь появилось преимущество: вы можете повторять заглушки без добавления аргументов в коде. Например:

Пример 4. Обмен аргументов
$format = "The %2\$s contains %1\$d monkeys.
           That's a nice %2\$s full of %1\$d monkeys.";
printf($format, $num, $location);

См. также printf(), sscanf(), fscanf() и number_format().

Примеры

Пример 5. sprintf(): целые числа с заполнением нулями
$isodate = sprintf("%04d-%02d-%02d", $year, $month, $day);
Пример 6. sprintf(): форматирование валюты
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money will output "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted выдаст "123.10"

Назад Оглавление Вперёд
soundex Вверхsscanf


Если Вы не нашли что искали, то рекомендую воспользоваться поиском по сайту: