在PHP中,字符串函数 fprintf() 将格式化后的字符串写入到流(例如:文件或数据库)。
函数语法:
fprintf ( resource $handle , string $format ,$arg1 , $arg2 , $arg... ) : int
函数参数说明:
参数 | 描述 |
---|---|
handle | 必需。规定在哪里写入/输出字符串。 |
format | 必需。规定字符串以及如何格式化其中的变量。 可能的格式值:
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。 |
arg1 | 必需。规定插到 format 字符串中第一个 % 符号处的参数。 |
arg2 | 可选。规定插到 format 字符串中第二个 % 符号处的参数。 |
arg... | 可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。 |
fprintf() 函数把格式化的字符串写入到指定的输出流(例如:文件或数据库)。该函数是逐步执行的,参数将被插入到主字符串中的 % 符号处。在第一个 % 符号处,插入arg1,在第二个 % 符号处,插入arg2,依此类推。
如果 % 符号的格式值的个数多于 arg 参数的个数,则需要使用占位符。占位符被插入到 % 符号后,由数字和“\$”组成。
举例1,把字符串写入到文件中:
<?php $str = 'hello world'; $file = fopen('test.txt', 'w'); // 将格式化字符串写入到文件中 echo fprintf($file, '%s', $str);
以上代码输出如下,返回写入的字符串长度(如果test.txt文件不存在,将创建文件):
11
同时,在 test.txt 文件中,我们会看到写入了“hello world”。
举例2,当args数组参数少于格式值时,需使用占位符进行格式化,并写入文件:
<?php $str = 'hello world'; $file = fopen('test.txt', 'w'); // 使用占位符,将格式化字符串写入到文件中 echo fprintf($file, '%1$s,%1$s', $str);
以上代码输出如下:
23
同时,在 test.txt 文件中,我们会看到写入了“hello world,hello world”。