Запишите текст в текстовый файл с именем «test.txt»:
<?php$number = 9;$str = "Пекин";$file = fopen("test.txt","w");echo vfprintf($file,"В %s находится %u миллионов велосипедов.", массив($число,$строка));?>Приведенный выше код выведет:
40В файл «test.txt» будет записан следующий текст:
В Пекине 9 миллионов велосипедов.Функция vfprintf() записывает форматированную строку в указанный выходной поток (например, в файл или базу данных).
В отличие от fprintf(), параметры vfprintf() находятся в массиве. Элементы массива будут вставлены в основную строку под знаком процента (%). Эта функция выполняется шаг за шагом. При первом знаке % вставляется первый элемент массива, при втором знаке % — второй элемент массива и так далее.
Примечание. Если символов % больше, чем параметров arg, необходимо использовать заполнители. Заполнитель вставляется после символа % и состоит из числа и "$". См. пример 2.
Совет: Связанные функции: fprintf(), printf(), sprintf(), vprintf() и vsprintf().
vfprintf( поток,формат,массив )
параметр | описывать |
---|---|
транслировать | Необходимый. Указывает, где записываются/выводятся строки. |
формат | Необходимый. Указывает строку и способ форматирования переменных внутри нее. Возможные значения формата: %% — возвращает знак процента % %b - двоичное число %c — символ, соответствующий значению ASCII. %d — десятичное число со знаком (отрицательный, 0, положительный) %e — используйте научную запись строчными буквами (например, 1.2e+2). %E — используйте научную запись в верхнем регистре (например, 1.2E+2). %u — десятичное число без знака (больше или равно 0) %f — число с плавающей запятой (локальная настройка) %F — число с плавающей запятой (неродная настройка) %g — более короткая версия %e и %f %G — короче %E и %f %o - восьмеричное число %s - строка %x — шестнадцатеричное число (строчные буквы) %X — шестнадцатеричное число (заглавные буквы) Дополнительные значения формата. Должен быть помещен между % и буквой (например, %.2f): + (Добавьте + или - перед числом, чтобы определить знак числа. По умолчанию отмечаются только отрицательные числа, а положительные числа не отмечаются) ' (Указывает, что использовать в качестве заполнения, по умолчанию — пробелы. Его необходимо использовать со спецификатором ширины. Например: %'x20s (используйте «x» в качестве заполнения)) - (значение левой корректировочной переменной) [0-9] (определяет минимальную ширину значения переменной) .[0-9] (указывает количество десятичных знаков или максимальную длину строки) Примечание. Если используется несколько приведенных выше значений формата, они должны использоваться в указанном выше порядке и не могут быть нарушены. |
массив | Необходимый. Массив с параметрами, которые будут вставлены в строку формата через символы %. |
Возвращаемое значение: | Возвращает длину записываемой строки. |
---|---|
PHP-версия: | 5+ |
Запишите текст в файл:
<?php$num1 = 123;$num2 = 456;$file = fopen("test.txt","w");vfprintf($file,"%f%f",array($num1,$num2)) ;?>В файл «test.txt» будет записан следующий текст:
123.000000456.000000Используйте заполнители:
<?php$number = 123;$file = fopen("test.txt","w");vfprintf($file,"С двумя десятичными знаками: %1$.2fnБез десятичных знаков: %1$u",array( $номер));?>В файл «test.txt» будет записан следующий текст:
С двумя десятичными знаками: 123,00Без десятичных знаков: 123Используйте printf(), чтобы продемонстрировать все возможные значения формата:
<?php$num1 = 123456789;$num2 = -123456789;$char = 50; // Символ ASCII 50 равен 2 // Примечание. Значение формата "%%" возвращает знак процентаprintf("%%b = %b <br>",$num1); // Двоичное числоprintf("%%c = %c <br>",$char); // ASCII Characterprintf("%%d = %d <br>",$num1 // Десятичное число со знакомprintf("%%d = %d <br>",$num2 // Десятичное число со знакомprintf("%%e); = %e <br>",$num1); // Научная запись (строчные)printf("%%E = %E <br>",$num1); // Научная запись (uppercase)printf("%%u = %u <br>",$num1 // Беззнаковое десятичное число (положительное)printf("%%u = %u <br>",$num2); десятичное число (отрицательное)printf("%%f = %f <br>",$num1 // число с плавающей запятой (с учетом локальных настроек)printf("%%F = %F); <br>",$num1); // Число с плавающей запятой (не учитывает локальные настройки)printf("%%g = %g <br>",$num1); // Меньшее из %e и %fprintf(" %%G = %G <br>",$num1); // Меньше %E и %fprintf("%%o = %o <br>",$num1); // Восьмеричное числоprintf("%%s = %s <br>",$num1); // Stringprintf("%%x = %x <br>",$num1); // Шестнадцатеричное число (строчные)printf("%%X = %X <br >",$num1); // Шестнадцатеричное число (заглавные)printf("%%+d = %+d <br>",$num1); // Спецификатор знака (положительный)printf("%%+d = %+d <br>",$num2); // Спецификатор знака (отрицательный)?>