PHP vfprintf()Function
Examples
Write some text to a text file named "test.txt":
$number = 9;
$str = "Beijing";
$file = fopen("test.txt","w");
echo vfprintf($file,"There are %u million bicycles in %s.",array($number,$str));
?>
The code above will output:
The following text will be written to the file "test.txt":
Definition and Usage
The vfprintf() function writes a formatted string to the specified output stream (e.g., file or database).
Unlike fprintf(), the arguments in vfprintf() are placed in an array. The array elements will be inserted at the percent (%) signs in the main string. This function is executed step by step. At the first % sign, the first array element is inserted, at the second % sign, the second array element is inserted, and so on.
Note:If there are more % signs than arg arguments, you must use placeholders. The placeholder is inserted after the % sign and consists of a number and "\$". See Example 2.
Tip:Related functions:fprintf()、 printf()、 sprintf()、vprintf()andvsprintf()
Syntax
| Parameter | Description |
|---|---|
| stream | Required. Specifies where to write/output the string. |
| format | Required. Specifies the string and how to format the variables in it. Possible format values:
Additional format values. Must be placed between the % and the letter (e.g., %.2f):
Note:If multiple of the above format values are used, they must be used in the order shown above and cannot be rearranged. |
| argarray | Required. An array with arguments that will be inserted at the % signs in the format string. |
Technical Details
| Return value: | Returns the length of the written string. |
|---|---|
| PHP version: | 5+ |
More Examples
Example 1
Write some text to a file:
$num1 = 123;
$num2 = 456;
$file = fopen("test.txt","w");
vfprintf($file,"%f%f",array($num1,$num2));
?>
The following text will be written to the file "test.txt":
Example 2
Using placeholders:
$number = 123;
$file = fopen("test.txt","w");
vfprintf($file,"With 2 decimals: %1$.2f
nWith no decimals: %1$u",array($number));
?>
The following text will be written to the file "test.txt":
With no decimals: 123
Example 3
Use printf() to demonstrate all possible format values:
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2
// Note: The format value "%%" returns a percent sign
printf("%%b = %b <br>",$num1); // Binary number
printf("%%c = %c <br>",$char); // The ASCII Character
printf("%%d = %d <br>",$num1); // Signed decimal number
printf("%%d = %d <br>",$num2); // Signed decimal number
printf("%%e = %e <br>",$num1); // Scientific notation (lowercase)
printf("%%E = %E <br>",$num1); // Scientific notation (uppercase)
printf("%%u = %u <br>",$num1); // Unsigned decimal number (positive)
printf("%%u = %u <br>",$num2); // Unsigned decimal number (negative)
printf("%%f = %f <br>",$num1); // Floating-point number (local settings aware)
printf("%%F = %F <br>",$num1); // Floating-point number (not local settings aware)
printf("%%g = %g <br>",$num1); // Shorter of %e and %f
printf("%%G = %G <br>",$num1); // Shorter of %E and %f
printf("%%o = %o <br>",$num1); // Octal number
printf("%%s = %s <br>",$num1); // String
printf("%%x = %x <br>",$num1); // Hexadecimal number (lowercase)
printf("%%X = %X <br>",$num1); // Hexadecimal number (uppercase)
printf("%%+d = %+d <br>",$num1); // Sign specifier (positive)
printf("%%+d = %+d <br>",$num2); // Sign specifier (negative)
?>
Run Example »
PHP String Reference Manual Other extensions