English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

PHP базовый учебник

PHP продвинутый учебник

PHP & MySQL

PHP справочник

PHP sprintf() функция и примеры использования

   PHP String строковые функции руководства

    Функция sprintf() используется для возвращения форматированной строки.

Грамматика

string sprintf ( string $format[, mixed $args[, mixed $...]])

Определение и использование

Используется для форматирования строки,写入 отформатированную строку в переменную.

Параметры arg1, arg2, ++ вставляются в символ % в основной строке. Функция выполняется поэтапно. В первом символе % вставляется arg1, во втором символе % вставляется arg2 и т.д.

Внимание:Если символ % больше, чем аргумент arg, то необходимо использовать маркеры. Маркеры вставляются после символа % и состоят из числа и "\$". См. пример 2.

Совет:Связанные функции:printf(),vprintf(),vsprintf(),fprintf() иvfprintf()

Возврат значения

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

Параметр

НомерПараметры и описание
1

format

Обязательное. Указывает строку и способ форматирования переменных в ней

Возможные значения формата:

  • %% - возвращает символ процента (%)

  • %b - двоичное число

  • %c - символ, соответствующий значению ASCII

  • %d - десятичное число с знаком (+, 0, -)

  • %e - использование маленького скобления научного (например, 1.2e+2)

  • %E - использование большого скобления научного (например, 1.2E+2)

  • 袍есятичное число без знака (+0)

  • %f -浮-point число (локализация)

  • %F -浮-point число (не локализация)

  • %g - более короткое %e и %f

  • %G - более короткое %E и %f

  • %o - восьмеричное число

  • %s - строка

  • %x - шестнадцатеричное число (малая литера)

  • %X - шестнадцатеричное число (большая литера)

Дополнительные значения формата. Обязательны для размещения между % и буквой (например, %.2f):

  • + (добавление + или - перед числом для определения знака числа. По умолчанию помечаются только отрицательные числа, положительные числа не помечаются)

  • ' (указывает, что использовать в качестве заполнителя, по умолчанию это пробел. Его необходимо использовать вместе с указателем ширины. Например: '%'x20s (использование "x" в качестве заполнителя))

  • - (выравнивание значений влево)

  • .[0-9] (указывает минимальную ширину значения переменной)

  • .[0-9] (указывает количество знаков после запятой или максимальную длину строки)

Комментарий:Если используется несколько указанных выше значений формата, они должны использоваться в порядке, указанном выше, и не должны быть изменены.

2

arg1

Обязательное. Указывает первый параметр, который нужно вставить в строку формата.

3

arg2

Доступно. Указывает второй параметр, который нужно вставить в строку формата.

...

arg++

Доступно. Указывает параметры, которые вставляются в строку формата между третьим, четвертым, пятым и т.д. символами %.

Онлайн пример

试试下面的实例,使用格式值 %%f 符号替换一个作为参数进行传递的变量:

<?php
   // 把%f 符号替换成一个作为参数进行传递的变量
   $number = 123;
   $txt = sprintf("%f", $number);
   
   echo $txt;
?>
Проверим‹/›

Результат должен быть следующим

123.000000

参数 format 所有可能的格式值的演示示例:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII 字符 50 是 2
 
// 注释:格式值 "%%" 返回百分号
echo sprintf("%%b = %b", $num1)."<br>"; // 二进制数
echo sprintf("%%c = %c", $char)."<br>"; // ASCII 字符
echo sprintf("%%d = %d", $num1)."<br>"; // 有符号的十进制数
echo sprintf("%%d = %d", $num2)."<br>"; // 有符号的十进制数
echo sprintf("%%e = %e", $num1)."<br>"; // 科学计数法(小写)
echo sprintf("%%E = %E", $num1)."<br>"; // 科学计数法(大写)
echo sprintf("%鑾u", $num1)."<br>"; // 无符号的十进制数(正)
echo sprintf("%鑾u", $num2)."<br>"; // 无符号的十进制数(负)
echo sprintf("%%f = %f", $num1)."<br>"; // 浮点数(视本地设置)
echo sprintf("%%F = %F", $num1)."<br>"; // 浮点数(不视本地设置)
echo sprintf("%%g = %g", $num1)."<br>"; // 短于 %%e 和 %%f
echo sprintf("%%G = %G", $num1)."<br>"; // 短于 %%E 和 %%f
echo sprintf("%%o = %o", $num1)."<br>"; // 八进制数
echo sprintf("%%s = %s", $num1)."<br>"; // 字符串
echo sprintf("%%x = %x", $num1) . "<br>"; // Шестнадцатеричное число (нижний регистр)
echo sprintf("%%X = %X", $num1) . "<br>"; // Шестнадцатеричное число (заглавные буквы)
echo sprintf("%%+d = %+d", $num1) . "<br>"; // Знаковый оператор (положительный)
echo sprintf("%%+d = %+d", $num2) . "<br>"; // Знаковый оператор (отрицательный)
?>
Проверим‹/›

Результат должен быть следующим

%b = 111010110111100110100010101
%c = 2
%d = 123456789
%d = -123456789
%e = 1.234568e+8
%E = 1.234568E+8
钑23456789
钑8446744073586094827
%f = 123456789.000000
%F = 123456789.000000
%g = 1.23457e+8
%G = 1.23457E+8
%o = 726746425
%s = 123456789
%x = 75bcd15
%X = 75BCD15
%+d = +123456789
%+d = -123456789

Пример демонстрации строковых операторов:

<?php
$str1 = "Привет";
$str2 = "Привет PHP!";
 
echo sprintf("[%s]", $str1) . "<br>";
echo sprintf("[%8s]", $str1) . "<br>";
echo sprintf("[%-8s]", $str1) . "<br>";
echo sprintf("[%08s]", $str1) . "<br>";
echo sprintf("[%'*8s]", $str1) . "<br>";
echo sprintf("[%8.8s]", $str2) . "<br>";
?>
Проверим ‹/›

Результат вывода:

[Привет]
[   Привет]
[Привет   ]
[000Привет]
[***Привет]
[Привет PH]

PHP String строковые функции руководства