PHP vprintf()
函数用于根据格式将数组值显示为格式化字符串。这个函数的主要目的是显示一个格式化的字符串。 PHP 4 及 以上 版本支持vprintf()
字符串函数。
vprintf() 函数的工作方式类似于 printf() 函数,但它接受一个参数数组。这些数组元素与主字符串中的百分号 (%) 一起插入。 vprintf() 函数在每个 % 符号处,插入数组元素。执行成功后返回输出字符串的长度。
相关函数
与vprintf()类似的函数。
语法
下面给出了vprintf()的语法,其中两个参数都是必传参数。
vprintf( $format, $array_arg)
参数
参数 | 说明 | 必须/可选 |
---|---|---|
$format | 指定如何格式化字符串。 可能的格式值:
其他格式值: 这些值位于 % 符号和字母之间,例如,%.2f
| 必须 |
$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
With three decimal point: 12.350
With no decimal: 12