English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
PHP String строковые функции руководства
Функция sprintf() используется для возвращения форматированной строки.
string sprintf ( string $format[, mixed $args[, mixed $...]])
Используется для форматирования строки,写入 отформатированную строку в переменную.
Параметры arg1, arg2, ++ вставляются в символ % в основной строке. Функция выполняется поэтапно. В первом символе % вставляется arg1, во втором символе % вставляется arg2 и т.д.
Внимание:Если символ % больше, чем аргумент arg, то необходимо использовать маркеры. Маркеры вставляются после символа % и состоят из числа и "\$". См. пример 2.
Совет:Связанные функции:printf(),vprintf(),vsprintf(),fprintf() иvfprintf()
Возвращает отформатированную строку
Номер | Параметры и описание |
---|---|
1 | format Обязательное. Указывает строку и способ форматирования переменных в ней Возможные значения формата:
Дополнительные значения формата. Обязательны для размещения между % и буквой (например, %.2f):
Комментарий:Если используется несколько указанных выше значений формата, они должны использоваться в порядке, указанном выше, и не должны быть изменены. |
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]