PHP vfprintf() функция
Пример
Записать текст в текстовый файл с именем "test.txt":
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo vfprintf($file,"There are 쥕lion bicycles in %s.",array($number,$str)); ?>
Выйденный код будет выглядеть так:
40
Следующий текст будет записан в файл "test.txt":
There are 9 million bicycles in Beijing.
Определение и использование
Функция vfprintf() записывает форматированную строку в указанный поток вывода (например, файл или база данных).
В отличие от fprintf(), параметры в vfprintf() находятся в массиве. Элементы массива вставляются в основную строку в месте знака %. Функция выполняется поэтапно. В месте первого % вставляется первый элемент массива, в месте второго % вставляется второй элемент массива и т.д.
Комментарий:Если символ % больше arg Если есть параметры, то вы должны использовать占位щики. Занятщики вставляются после знака % и состоят из числа и "\$". См. пример 2.
См. также функции:
Грамматика
vfprintf(stream,Формат,argarray)
Параметры | Описание |
---|---|
stream | Необходимо. Определяет, где写入/выводится строка. |
Формат |
Необходимо. Определяет строку и способ форматирования переменных в ней. Возможные форматные значения:
Дополнительные форматные значения. Необходимо разместить между % и буквой (например, %.2f):
Комментарий:Если используется несколько значений формата, они должны быть в порядке, указанном выше. |
argarray | Обязателен. Масив параметров, которые будут вставлены Формат Символ % в строке. |
Технические детали
Возвратное значение: | Возвращает длину записианной строки. |
PHP версия: | 5+ |
Более примеров
Пример 1
Запись текста в файл:
<?php $num1 = 123; $num2 = 456; $file = fopen("test.txt","w"); vfprintf($file,"%f%f",array($num1,$num2)); ?>
Следующий текст будет записан в файл "test.txt":
123.000000456.000000
Пример 2
Использование占位符:
<?php $number = 123; $file = fopen("test.txt","w"); vfprintf($file,"С двумя десятичными знаками: %1$.2f \nБез десятичных знаков: %1$u",array($number)); ?>
Следующий текст будет записан в файл "test.txt":
С двумя десятичными знаками: 123.00 Без десятичных знаков: 123
Пример 3
Использование printf() для демонстрации всех возможных значений формата:
<?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); // Оktalnoye chislo 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); // Объяснение знака (отрицательный) ?>