PHP vfprintf() funkcja
Przykład
Zapisz tekst do pliku tekstowego o nazwie "test.txt":
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo vfprintf($file,"There are 쥕lion bicycles in %s.",array($number,$str)); ?>
Powyższy kod wyświetli:
40
Poniższy tekst zostanie zapisany do pliku "test.txt":
There are 9 million bicycles in Beijing.
Definicja i użycie
Funkcja vfprintf() zapisuje sformatowany ciąg znaków do określonego strumienia wyjściowego (np. plik lub baza danych).
W przeciwieństwie do fprintf(), parametry w vfprintf() znajdują się w tablicy. Elementy tablicy będą wstawiane w główne ciąg znaków w miejscach symboli procentu (%). Funkcja jest wykonywana krok po kroku. W pierwszym symbolu % wstawia się pierwszy element tablicy, w drugim symbolu % wstawia się drugi element tablicy, itd.
Komentarz:Jeśli symbol % jest większy niż arg Jeśli jest więcej parametrów, musisz użyć占位符。占位niki są umieszczane po symbolu %, złożone z liczby i "\$". Zobacz przykład 2.
Związane funkcje:
Gramatyka
vfprintf(stream,format,argarray)
Parametry | Opis |
---|---|
stream | Wymagane. Określa, gdzie zapisywać/wyświetlać ciąg znaków. |
format |
Wymagane. Określa ciąg znaków oraz sposób formatowania zmiennych w nim zawartych. Możliwe wartości formatu:
Dodatkowa wartość formatu. Musi być umieszczona między % i literą (np. %.2f):
Komentarz:Jeśli używasz wielu wartości formatowania, muszą być one uporządkowane zgodnie z powyższym. |
argarray | Wymagane. Tablica parametrów, które będą wstawiane format W miejscu % symbole w ciągu. |
Szczegóły techniczne
Zwracana wartość: | Zwraca długość zapisanego ciągu. |
Wersja PHP: | 5+ |
Więcej przykładów
Przykład 1
Zapisz tekst do pliku:
<?php $num1 = 123; $num2 = 456; $file = fopen("test.txt","w"); vfprintf($file,"%f%f",array($num1,$num2)); ?>
Poniższy tekst zostanie zapisany do pliku "test.txt":
123.000000456.000000
Przykład 2
Używaj占位符:
<?php $number = 123; $file = fopen("test.txt","w"); vfprintf($file,"Z 2 miejscami po przecinku: %1$.2f \nBez miejsc po przecinku: %1$u",array($number)); ?>
Poniższy tekst zostanie zapisany do pliku "test.txt":
Z 2 miejscami po przecinku: 123.00 Bez miejsc po przecinku: 123
Przykład 3
Używaj printf() do prezentacji wszystkich możliwych wartości formatowania:
<?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); // Dziesiętna liczba bez znaku (dodatnia) printf("%鑾u <br>",$num2); // Dziesiętna liczba bez znaku (ujemna) printf("%%f = %f <br>",$num1); // Liczba zmiennoprzecinkowa (uwzględnia ustawienia lokalne) printf("%%F = %F <br>",$num1); // Liczba zmiennoprzecinkowa (nie uwzględnia ustawień lokalnych) printf("%%g = %g <br>",$num1); // Krótsza niż %e i %f printf("%%G = %G <br>",$num1); // Krótsza niż %E i %f printf("%%o = %o <br>",$num1); // Liczba ósemkowa printf("%%s = %s <br>",$num1); // Ciąg znaków printf("%%x = %x <br>",$num1); // Liczba szesnastkowa (małe litery) printf("%%X = %X <br>",$num1); // Liczba szesnastkowa (wielkie litery) printf("%%+d = %+d <br>",$num1); // Znak wyjaśnienia (dodatni) printf("%%+d = %+d <br>",$num2); // Wyjaśnienie znaku (ujemny) ?>