(PHP 5, PHP 7)
fprintf — 将格式化后的字符串写入到流
定义和用法
fprintf() 函数把格式化的字符串写入指定的输出流(例如:文件或数据库)。
arg1、arg2、arg++ 参数将被插入主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。
注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入到 % 符号后面,由数字和 "\$" 组成。
提示:相关函数:sprintf()、 printf()、 vsprintf()、 fprintf() 和 vfprintf())
语法
fprintf ( resource $handle
, string $format
[, mixed$args
[, mixed$...
]] ) : int
参数 | 描述 |
---|---|
handle | 必需。规定在何处写入/输出字符串。 |
format |
必需。规定字符串以及如何格式化其中的变量。 可能的格式值:
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
注释:如果使用多个额外的格式值,则必须按照上面的顺序进行使用。 |
arg1 | 可选。规定插到 format 字符串中第一个 % 符号处的参数。 |
arg2 | 可选。规定插到 format 字符串中第二个 % 符号处的参数。 |
arg++ | 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。 |
范例
Example #1 fprintf(): 前缀0的整数
<?php
if (!($fp = fopen('date.txt', 'w'))) {
return;
}
fprintf($fp, "%04d-%02d-%02d", $year, $month, $day);
//格式化ISO日期并写入文件date.txt
?>
Example #2 fprintf(): 格式化货币
<?php
if (!($fp = fopen('currency.txt', 'w'))) {
return;
}
$money1 = 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// $money = "123.1";
$len = fprintf($fp, '%01.2f', $money);
// "123.10" 会被写入文件currency.txt
echo "wrote $len bytes to currency.txt";
// fprintf 返回写入字符串的长度