PHP 字符串函数

PHP vprintf() 函数用于根据格式将数组值显示为格式化字符串。这个函数的主要目的是显示一个格式化的字符串。 PHP 4 及 以上 版本支持vprintf()字符串函数。

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

相关函数

与vprintf()类似的函数。

语法

下面给出了vprintf()的语法,其中两个参数都是必传参数。

vprintf( $format, $array_arg)

参数

参数说明必须/可选
$format

指定如何格式化字符串。

可能的格式值:

  • %% - 返回百分号
  • %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

  • + = 两者都加前缀+ 和 - 符号,默认情况下只有负数用 -ive 符号标记。
  • - = 在给定变量值内左对齐,默认情况下右对齐。
  • ' =用字符填充结果。
  • (space) = 用空格填充结果。
  • 0 = 仅用零填充数字。使用 s 说明符,它还可以右填充零。
注意:如果使用了多个附加格式值,则它们的顺序必须相同如上所述。
必须
$array_arg格式化的数组参数。数组中的参数将被插入到格式字符串中的 % 符号处。
必须

返回值

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

注意

如果%符号大于函数中传入的参数,则必须使用占位符。占位符总是在 % 符号之后插入,并包含诸如 - 数字和"$"之类的参数。

与 vfprintf() 函数不同,它不包含 $stream 参数,即写入字符串的位置。

示例

下面是2个例子,通过它们了解PHP vprintf() 函数的用法。

示例1

<?php 
$days =365;
$yr = "year.";
vprintf("There are %u days in 1 %s", array($days, $yr));
?>

输出:

There are 365 days in 1 year.

示例2

占位符的使用

<?php 
$num1 =12.35;
vprintf("With two decimal point: %1\$.2f </br> 
With three decimal point: %1\$.3f </br> 
With no decimal: %1\$u", array($num1));
?>

输出:

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

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