当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


PHP String vprintf()用法及代码示例


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

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

注意:如果 % 符号比函数中传递的参数多,那么我们必须使用占位符。占位符始终插入在 % 符号之后,并包含诸如 - number 和 "$" 之类的参数。

与 vfprintf() 函数不同,它不包含 $stream 参数来说明在哪里写入字符串。

相关函数

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

用法

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

vprintf( $format, $array_arg)

参数

$format (required) - 它是 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

  • + = 前缀 + 和 - 符号,默认情况下只有负数用 -ive 符号标记。
  • - = Left-justify 给定变量值内,默认为右对齐。
  • ' = 用字符填充结果。
  • (space) = 用空格填充结果。
  • 0 = 仅 left-pads 数字为零。使用 s 说明符,它也可以 right-pads 带零。

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

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

返回值

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

例子

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

例子1

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

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

输出:

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

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

下面的数据将写入 test.txt 文件中。

512.000000
18446744073709551370





相关用法


注:本文由纯净天空筛选整理自 PHP String vprintf() Function。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。