Функция printf() в PHP
Пример
Вывод форматированной строки:
<?php $number = 9; $str = "Пекин"; printf("В %s есть �лионов велосипедов." ,$str,$number); ?>
Определение и использование
Функция printf() выводит форматированную строку.
arg1、arg2、arg++ параметр будет вставлен в символ процента (%) в основную строку. Функция выполняется поэтапно. В первом символе % вставьте arg1вторая %-символ, вставьте arg2и так далее.
Комментарий:Если символ % больше arg Если есть параметры, то вы должны использовать маркеры. Маркеры вставляются после знака %, состоят из числа и "\$". См. пример 2.
Совет:Связанные функции: sprintf()、 vprintf()、 vsprintf()、 fprintf() и vfprintf()
Грамматика
printf(format,arg1,arg2,arg++)
Параметр | Описание |
---|---|
format |
Обязателен. Определяет строку и как форматировать переменные в ней. Возможные значения формата:
Дополнительные значения формата. Необходимо разместить между % и буквой (например, %.2f):
Комментарий:Если используется несколько таких форматов, они должны использоваться в порядке, указанном выше, не изменяя порядок. |
arg1 | Обязательно. Определяет вставку в format Первый % символ в строке. |
arg2 | Обязательно. Определяет вставку в format Второй % символ в строке. |
arg++ | Опционально. Определяет вставку в format Параметры на третьем, четвертом и т.д. % символов в строке. |
Технические детали
Возвратное значение: | Возвращает длину строки, которая была выведена. |
Версия PHP: | 4+ |
Более примеров
Пример 1
Использование формата %f:
<?php $number = 123; printf("%f",$number); ?>
Пример 2
Использование значков подстановки:
<?php $number = 123; printf("Два знака после запятой:%1\$.2f<br>Без знаков после запятой:%1\$u",$number); ?>
Пример 3
Демонстрация всех возможных форматов:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII символ 50 равен 2 // Комментарий: Форматное значение "%%" возвращает процента printf("%%b = %b <br>",$num1); // двоичное число printf("%%c = %c <br>",$char); // ASCII символ printf("%%d = %d <br>",$num1); // десятичное число с знаком printf("%%d = %d <br>",$num2); // десятичное число с знаком printf("%%e = %e <br>",$num1); // 科学计数法(小写) printf("%%E = %E <br>",$num1); // 科学计数法(大写) printf("%鑾u <br>",$num1); // десятичное число без знака (положительное) printf("%鑾u <br>",$num2); // десятичное число без знака (отрицательное) printf("%%f = %f <br>",$num1); //浮点数(考虑本地设置) printf("%%F = %F <br>",$num1); //浮点数(不考虑本地设置) printf("%%g = %g <br>",$num1); // короче %e и %f printf("%%G = %G <br>", $num1); // Кратко меньше %E и %f printf("%%o = %o <br>", $num1); // Оctalное число printf("%%s = %s <br>", $num1); // Строка printf("%%x = %x <br>", $num1); // Шестнадцатеричное число (маленькие буквы) printf("%%X = %X <br>", $num1); // Шестнадцатеричное число (большие буквы) printf("%%+d = %+d <br>", $num1); // Знаковый индикатор (положительный) printf("%%+d = %+d <br>", $num2); // Описание знакового индикатора (отрицательный) ?>
Пример 4
Демонстрация строковых констант:
<?php $str1 = "Hello"; $str2 = "Hello world!"; printf("[%s]<br>", $str1); printf("[%8s]<br>", $str1); printf("[%-8s]<br>", $str1); printf("[%08s]<br>", $str1); printf("[%'*8s]<br>", $str1); printf("[%8.8s]<br>", $str2); ?>