PHP 字符串 vfprintf() 函数

2024年9月4日 | 3 分钟阅读

vfprintf() 是 PHP 的一个内置函数,用于将格式化字符串转换/传输到特定的输出流。在 vfprintf() 中,参数被放在一个数组中。数组的元素将与主字符串中的百分号 (%) 一起插入。vfprintf() 函数“一步一步”地工作。每遇到一个 % 符号,就会插入一个元素。

注意:如果 % 符号多于参数,那么我们必须使用占位符。占位符插入在 % 符号之后,并包含参数,例如 - 数字和 "$"。

PHP 5以上版本支持此函数。与 fprintf() 不同,vfprintf() 中的参数被放置在数组中。此函数返回写入文件中的字符串长度。

语法

vfprintf() 的语法如下所示,其中所有三个参数必须在此函数中传递。

参数

$stream (必填) - 这是 vfprintf() 函数的强制参数,它指定将字符串写入何处。

$format (必填) - 它也是 vfprintf() 函数的强制参数,它指定字符串以及如何格式化其中的变量。

可能的格式值

  • %% - 它返回一个百分号
  • %b - 表示为二进制数
  • %c - 根据 ASCII 值显示字符。
  • %d - 表示为有符号十进制数。
  • %e - 参数被视为使用小写字母的科学计数法(例如 3.2e+2)
  • %E - 类似于 e 说明符,但使用大写字母(例如 3.2E+2)
  • %u - 无符号十进制数
  • %f - 表示为浮点数(区域设置敏感)
  • %F - 也表示为浮点数,但非区域设置敏感
  • %g - %e 和 %f 中较短者
  • %G - %E 和 %F 中较短者
  • %o - 表示为八进制数
  • %s - 被视为并表示为字符串
  • %x - 表示为带有小写字母的十六进制数
  • %X - 表示为带有大写字母的十六进制数

附加格式值

这些值放在 % 符号和字母之间,例如 %.2f

  • + = 同时前缀 + 和 - 符号,默认情况下只有负数标记为 - 号。
  • - = 在给定变量值内左对齐,默认右对齐。
  • ' = 用字符填充结果。
  • (空格) = 用空格填充结果。
  • 0 = 只用零左填充数字。对于 s 说明符,它也可以用零右填充。

$argarray (必填) - 一个包含参数的数组,将插入到格式字符串中的 % 符号处。它是 vfprintf() 函数的强制参数。

返回值

vfprintf() 函数返回写入字符串的长度。

示例

下面给出了一些示例来理解 vfprintf() 的工作原理。

示例 1

在下面的示例中,我们将以写入模式 ("w") 打开 test.txt 文件以在其中写入一些数据。如果 test.txt 文件不存在,它将自动在同一文件夹中创建该文件,然后我们可以在其中写入文本。

输出

34

以下文本将写入 test.txt 文件。

There is 71 percent water on earth.

注意:在写入模式 "w" 下,文件的现有数据将被删除并覆盖新数据。

示例 2

输出

32

以下数据将写入 test.txt 文件。

512.000000
18446744073709551370

示例 3

输出

45

以下数据将写入 test.txt 文件。

With 3 decimal: 278.000
Without decimal: 278

下一个主题PHP 字符串函数