Функция sprintf() в PHP
Пример
Замените символ процента (%) на переменную, переданную в качестве параметра:
<?php $number = 2; $str = "Shanghai"; $txt = sprintf("There are 쥕lion cars in %s.", $number, $str); echo $txt; ?>
Определение и использование
Функция sprintf() записывает форматированную строку в переменную.
arg1,arg2,++ Параметр будет вставлен в проценты (%) в основной строке. Эта функция выполняется поэтапно. В первом % символе вставьте arg1во втором % символе, вставьте arg2и так далее.
Комментарий:Если в % больше arg Если используется параметр, то вам необходимо использовать占位щик. Заняточник находится после % символа, состоит из числа и "\$". См. пример 2.
Совет:Связанные функции: printf(), vprintf(), vsprintf(), fprintf() и vfprintf()
Синтаксис
sprintf(format,arg1,arg2,arg++)
Параметр | Описание |
---|---|
format |
Обязателен. Определяет строку и то, как форматировать переменные в ней. Возможные значения формата:
Дополнительные значения формата. Обязательны для размещения между % и буквой (например, %.2f):
Комментарий:Если используется несколько таких значений формата, они должны использоваться в указанном порядке. |
arg1 | Обязателен. Определяет вставку в format Параметр в первом % символе строки. |
arg2 | Опционально. Определяет вставку в format Параметр в втором % символе строки. |
arg++ | Опционально. Определяет вставку в format Параметры в третьем и четвертом % символах строки. |
Технические детали
Возвратное значение: | Возвращает отформатированную строку. |
PHP версия: | 4+ |
Более примеров
Пример 1
Использование формата %f:
<?php $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>
Пример 2
Использование占位ников:
<?php $number = 123; $txt = sprintf("С двумя знаками после запятой:%1\$.2f <br>Без дробной части:%1\$u",$number); echo $txt; ?>
Пример 3
Демонстрация всех возможных значений формата:
<?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>"; // Фloat (зависит от локальных настроек) echo sprintf("%%F = %F",$num1)."<br>"; // Фloat (не зависит от локальных настроек) 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>"; // Знаковый значок (отрицательный) ?>
Пример 4
Демонстрация значков строки:
<?php $str1 = "Hello"; $str2 = "Hello world!"; 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>"; ?>