定义
fprintf()函数将格式化的字符串写入指定的输出流。
语法
PHP fprintf()函数具有以下语法。
fprintf(stream,format,arg1,arg2,arg++)
参数
| 参数 | 是否必须 | 描述 |
|---|---|---|
stream |
需要。 | 规定在哪里写入/输出字符串 |
format |
需要。 | 规定字符串以及如何格式化其中的变量。 |
| arg1 | 需要。 | 规定插到 format 字符串中第一个 % 符号处的参数。 |
| arg2 | 可选的。 | 规定插到 format 字符串中第二个 % 符号处的参数 |
| arg ++ | 可选的。 | 规定插到 format 字符串中第三、四等等 % 符号处的参数。 |
format可能的值:
- %% - 返回百分号
- %b - 二进制数
- %c - ASCII 值对应的字符
- %d - 带符号的十进制数(负数,零或正数)
- %e - 使用小写字母的科学记数法(例如1.2e + 2)
- %E - 使用大写字母的科学记数法(例如1.2E + 2)
- %u - 无符号十进制数(等于或大于零)
- %f - 浮点数(本地设置)
- %F - 浮点数(非本地设置)
- %g - 较短的%e和%f
- %G - 较短的%E和%f
- %o - 八进制数
- %s - 字符串
- %x - 十六进制数字(小写字母)
- %X - 十六进制数字(大写字母)
format的其他值
| 格式 | 含义 |
|---|---|
| + | 强制+和-在数字前面 。默认情况下,只标记负数 |
| '' | 设置要用作填充的内容。默认为空格。必须与width说明符一起使用。示例:%'x20s这使用“x”作为填充 |
| -- | 左对齐变量值 |
| [0-9] | 将保持的最小宽度设置为变量值 |
| .[0-9] | 设置小数位数或最大字符串长度 |
多个附加格式值的顺序必须与上述相同。
返回值
PHP fprintf()函数返回写入的字符串的长度。
相关功能
printf(), sprintf(), vprintf(), vsprintf() and vfprintf()
实例1
将一些文本写入名为“test.txt”的文本文件:
<?php
/*
http://www.manongjc.com/article/1797.html
作者:码农教程
*/
$number = 1;
$str = \"PHP\";
$file = fopen(\"test.txt\",\"w\");
echo fprintf($file,\"There are %u million developers using %s.\",$number,$str);
echo fprintf($file,\"%f\",$number);
?>
上面的代码生成以下结果:
48
实例2
使用占位符:
<?php
$number = 123;
$file = fopen(\"test.txt\",\"w\");
fprintf($file,\"With 2 decimals: %1\\$.2f
\\nWith no decimals: %1\\$u\",$number);
?>
实例3
使用printf()来演示所有可能的格式值:
<?php
/*
http://www.manongjc.com/article/1797.html
作者:码农教程
*/
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2
// Note: The format value \"%%\" returns a percent sign
printf(\"%%b = %b \\n\",$num1); // Binary number
printf(\"%%c = %c \\n\",$char); // The ASCII Character
printf(\"%%d = %d \\n\",$num1); // Signed decimal number
printf(\"%%d = %d \\n\",$num2); // Signed decimal number
printf(\"%%e = %e \\n\",$num1); // Scientific notation (lowercase)
printf(\"%%E = %E \\n\",$num1); // Scientific notation (uppercase)
printf(\"%%u = %u \\n\",$num1); // Unsigned decimal number (positive)
printf(\"%%u = %u \\n\",$num2); // Unsigned decimal number (negative)
printf(\"%%f = %f \\n\",$num1); // Floating-point number (local settings aware)
printf(\"%%F = %F \\n\",$num1); // Floating-point number (not local settings aware)
printf(\"%%g = %g \\n\",$num1); // Shorter of %e and %f
printf(\"%%G = %G \\n\",$num1); // Shorter of %E and %f
printf(\"%%o = %o \\n\",$num1); // Octal number
printf(\"%%s = %s \\n\",$num1); // String
printf(\"%%x = %x \\n\",$num1); // Hexadecimal number (lowercase)
printf(\"%%X = %X \\n\",$num1); // Hexadecimal number (uppercase)
printf(\"%%+d = %+d \\n\",$num1); // Sign specifier (positive)
printf(\"%%+d = %+d \\n\",$num2); // Sign specifier (negative)
?>
上面的代码生成以下结果:
%b = 111010110111100110100010101
%c = 2
%d = 123456789
%d = -123456789
%e = 1.234568e+8
%E = 1.234568E+8
%u = 123456789
%u = 18446744073586094827
%f = 123456789.000000
%F = 123456789.000000
%g = 1.23457e+8
%G = 1.23457E+8
%o = 726746425
%s = 123456789
%x = 75bcd15
%X = 75BCD15
%+d = +123456789
%+d = -123456789 继续阅读与本文标签相同的文章
上一篇 :
php fpassthru()函数
下一篇 :
全新编程语言V发布:迷你编译器 无第三方依赖
-
买了iPhone手机,旧设备上数据怎样迁移,这有3种办法快速解决
2026-05-15栏目: 教程
-
昔日电商巨头轰然倒塌!烧光几十亿补贴后,欠下工资5600万
2026-05-15栏目: 教程
-
从做流量的梦到踏实做生意,小程序成为互联网逆袭工具!
2026-05-15栏目: 教程
-
Uber在巴黎上线摩托车租赁服务,加速共享两轮布局对击Lyft
2026-05-15栏目: 教程
-
女性机器人深受日本宅男喜爱,只因拥有这些功能,比真人贴心
2026-05-15栏目: 教程
