Funkcja fprintf() w PHP
Przykład
Zapisz tekst do pliku tekstowego o nazwie "test.txt":
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt", "w"); echo fprintf($file,"There are 쥕lion bicycles in %s.",$number,$str); ?>
Wyjście kodu powyżej:
40
Poniższy tekst zostanie zapisany do pliku "test.txt":
There are 9 million bicycles in Beijing.
Definicja i użycie
Funkcja fprintf() zapisuje sformatowany ciąg znaków do określonego strumienia wyjściowego (np. plik lub baza danych).
arg1,arg2,arg++ Parametr zostanie wstawiony do głównego ciągu znaków w miejscu znaku procentu (%). Funkcja jest wykonywana krok po kroku. W miejscu pierwszego znaku %, wstaw arg1, w miejscu drugiego znaku %, wstaw arg2, itd.
注释:Jeśli znak % jest większy niż arg Jeśli jest więcej parametrów, musisz użyć占位符。占位nik jest umieszczany za znakiem %, złożony z liczby i "\$". Zobacz przykład 2.
Związane funkcje:
Gramatyka
fprintf(stream,format,arg1,arg2,arg++)
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):
注释:如果使用多个额外的格式值,则必须按照上面的顺序进行使用。 |
arg1 | 必需。规定插到 format 字符串中第一个 % 符号处的参数。 |
arg2 | 可选。规定插到 format 字符串中第二个 % 符号处的参数。 |
arg++ | 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。 |
技术细节
返回值: | 返回被写字符串的长度。 |
PHP 版本: | 5+ |
更多实例
例子 1
把文本写入文件中:
<?php $number = 123; $file = fopen("test.txt", "w"); fprintf($file, "%f", $number); ?>
下面的文本将被写入到文件 "test.txt":
123.000000
例子 2
使用占位符:
<?php $number = 123; $file = fopen("test.txt", "w"); fprintf($file, "有两位小数:%1$.2f \n没有小数:%1$u", $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); // 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 oznakowania (dodatni) printf("%%+d = %+d <br>",$num2); // Wyjaśnienie znaku (ujemny) ?>