PHP fprintf() function

Halimbawa

Ilagay ang teksto sa text file na may pangalang "test.txt":

<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt", "w");
echo fprintf($file,"Mayroon 쥕yong bisikleta sa %s.",$number,$str);
?>

Ang paglulabas ng code na ito:

40

Ang teksto na ito ay ilalagay sa file "test.txt":

Mayroon 9 milyong bisikleta sa Beijing.

Definition at Paggamit

Ang function na fprintf() ay nagpapatupad ng format ng string sa tinukoy na stream ng paglilipat ng datos (halimbawa: file o database).

arg1,arg2,arg++ Ang parameter ay ilagay sa lugar ng simbolo (%) sa pangunahing string. Ang function ay pagkilos sa pamamagitan ng hakbang-hakbang. Sa unang % simbolo, ilagay arg1, ilagay sa pangalawang % simbolo arg2, at saka pa.

注释:Kung mayroong higit sa % simbolo arg Kung mayroong parameter, dapat gamitin ang placeholder. Ang placeholder ay ilagay sa likod ng simbolo %, na binubuo ng numero at "\$". Tingnan ang halimbawa 2.

Relatibong function:

Grammar

fprintf(stream,format,arg1,arg2,arg++)
Parameter Paglalarawan
stream Dapat. Tumutukoy sa lugar kung saan ilalagay ang string sa paglilipat ng datos.
format

Dapat. Tumutukoy sa string at kung paano formatin ang mga variable nito.

Posible na halaga ng format:

  • %% - ibibigay ang isang percent sign %
  • %b - binary number
  • %c - character na tumutugma sa ASCII value
  • %d - decimal number na may simbolo ng positibo o negatibo (mababa, 0, o mas malaki)
  • %e - gumamit ng maliit na titik sa scientific notation (halimbawa 1.2e+2)
  • %E - gumamit ng malaking titik sa scientific notation (halimbawa 1.2E+2)
  • 蒝ecimal number na walang simbolo ng positibo o negatibo (mas malaki o kabilang sa 0)
  • %f - floating point number ( lokal na setting)
  • %F - floating point number (walang lokal na setting)
  • %g - mas maikling %e at %f
  • %G - mas maikling %E at %f
  • %o - numero sa oktal
  • %s - string
  • %x - numero sa heksadecimal (may maliit na titik)
  • %X - numero sa heksadecimal (may malaking titik)

Magdagdag na halaga ng format. Dapat ilagay sa pagitan ng % at ang titik (halimbawa %.2f):

  • + (在数字前面加上 + 或 - 来定义数字的正负性。)
    默认地,只有负数才做标记,正数不做标记)
  • ‘ (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。)
    例如:%'x20s(使用 "x" 作为填充))
  • - (左调整变量值)
  • .[0-9] (规定变量值的最小宽度)
  • .[0-9] (规定小数位数或最大字符串长度)

注释:如果使用多个额外的格式值,则必须按照上面的顺序进行使用。

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); // 不带符号的十进制数(正)
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); // 八进制数
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); // 符号说明符(负)
?>

运行实例