PHP String vfprintf()函数

PHP String vfprintf()函数

The vfprintf()是PHP的内置函数,用于将格式化字符串转换/转换为特定的输出流。在vfprintf()中,参数放置在一个数组中。数组的元素将与主字符串中的百分号(%)一起插入。vfprintf()函数是”逐步”工作的。每个百分号(%)标志都会插入一个元素。

注意:如果百分号(%)标志多于参数,则必须使用占位符。占位符在%标志后插入,并包含参数,如-数字和”$”。

PHP 5以及以上版本都支持此函数。与fprintf()不同,vfprintf()中的参数是放置在数组中的。此函数返回在文件中写入的字符串的长度。

语法

下面给出了vfprintf()的语法,其中所有三个参数在此函数中都是必需的。

vfprintf( stream,format, $argarray)

参数

$stream(必需) - 这是vfprintf()函数的强制参数,用于指定字符串写入的位置。

$format(必需) - 这也是vfprintf()函数的强制参数,用于指定字符串以及如何格式化其中的变量。

可能的格式值:

  • %% – 返回一个百分号符号
  • %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 = 只使用0填充数字。对于s说明符,它还可以使用0填充右侧

    $argarray(必需) - 一个包含要插入格式字符串中%符号处的参数的数组。这是vfprintf()函数的必需参数。

返回值

vfprintf()函数返回写入字符串的长度。

示例

以下是一些示例,以便理解vfprintf()的工作。

示例1

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

?php 
    num1 =71;str = "earth";
    file = fopen("test.txt", "w");
    echo vfprintf(file, "There is %u percent water on %s", array(num1,str));
    fclose($file);
?>

输出:

34

以下文本将被写入test.txt文件中。

There is 71 percent water on earth.

注意:在写模式”w”下,文件中的现有数据将被删除并被新数据覆盖。

示例2

<?php 
    num1 =512;num2 = -246;
    file = fopen("test.txt", "w");
    echo vfprintf(file, "%f\n%u ", array(num1,num2));
    fclose($file);
?>

输出:

32

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

512.000000
18446744073709551370

示例3

<?php 
    number1 = 278;file = fopen("test.txt", "w");
    echo vfprintf(file, "With 3 decimal: %1\$.3f\n Without decimal: %1\$u", array(number1));
    fclose($file);
?>

输出:

45

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

With 3 decimal: 278.000
Without decimal: 278

Camera课程

Python教程

Java教程

Web教程

数据库教程

图形图像教程

办公软件教程

Linux教程

计算机教程

大数据教程

开发工具教程