PHP String vprintf()函数

PHP String vprintf()函数

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

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

注意:如果%标记多于函数中传递的参数,则必须使用占位符。占位符总是在%标记之后插入,并包含参数(如数字和”“)。

与vfprintf()函数不同的是,它不包含stream参数,该参数指定字符串写入的位置。

相关函数

vfprintf()、vsprintf()、printf()是与vprintf()相似的一些函数。

语法

以下是vprintf()的语法,其中 参数 都是 必需 的。

vprintf( format,array_arg)

参数

$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文件不存在,它将自动在相同的文件夹中创建该文件,然后我们可以写入文本。

?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     With three decimal point: %1\$.3f     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

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程