PHP 字符串 vprintf() 函数

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

vprintf() 是 PHP 内置的字符串函数。它根据 **format** 显示数组值作为格式化字符串。此函数的主要目的是显示格式化字符串。**PHP 4** 及 **更高** 版本支持 vprintf() 字符串函数。

vprintf() 函数的工作方式与 printf() 函数类似,但它接受一个参数数组。这些数组元素与主字符串中的百分号 (%) 一起插入。vprintf() 函数一步一步地工作。在每个 % 符号处,元素被插入。成功执行后,它返回输出字符串的长度。

注意:如果 % 符号多于函数中传递的参数,则必须使用占位符。占位符始终插入在 % 符号之后,并包含参数,例如 - 数字和 "$"。

与 vfprintf() 函数不同,它不包含 $stream 参数,该参数指定将字符串写入何处。

相关函数

vfprintf(),
vsprintf(),
printf() 是与 vprintf() 类似的一些函数。

语法

vprintf() 的语法如下,**这两个参数**都**必须**传递给此函数。

参数

$format (必需) - 它是 vprintf() 函数的强制参数,指定字符串的格式。

可能的格式值

  • %% - 返回一个百分号
  • %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 说明符,它也可以用零右填充。

注意:如果使用了多个附加格式值,则它们必须按上述相同顺序。

$array_arg (必需) - 这些是需要格式化的数组参数。数组中的参数将插入到格式字符串中的 % 符号处。

返回值

$array_arg (必需) vprintf() 函数返回输出字符串的长度。

示例

以下是示例列表,通过这些示例我们可以了解 vprintf() 函数的工作原理。

示例 1

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

输出

与 vprintf() 不同,它直接在浏览器上显示字符串数据,而不是在文件中。

There are 365 days in 1 year.

示例 2:使用占位符

输出

在上面的示例中,我们在这里使用了占位符,因为 % 多于函数中传递的参数。

With two decimal point: 12.35 
With three decimal point: 12.350 
With no decimal: 12

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

512.000000
18446744073709551370

下一个主题PHP 字符串函数