Example
Write some text to a text file named "test.txt":
<?php $number = 9; $str = "Beijing"; $file = fopen("test.txt","w"); echo vfprintf($file,"There are %u million bicycles in %s.",array($number,$str)); ?>
The above code will output:
40
The following text Will be written to the file "test.txt":
There are 9 million bicycles in Beijing.
Definition and usage
vfprintf() function writes the formatted string to the specified output stream (Example: file or database).
Unlike fprintf(), the parameters in vfprintf() are located in an array. Array elements will be inserted into the main string at the percent sign (%). 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 % symbols than arg arguments, you must use placeholders. The placeholder is inserted after the % symbol and consists of a number and "\$". See Example 2.
Tip: Related functions: fprintf(), printf(), sprintf(), vprintf() and vsprintf()
Syntax
vfprintf(stream,format,argarray)
Parameters | Description | ||||
stream | Required. Specifies where strings are written/output. | ||||
format | Required. Specifies a string and how to format variables within it. Possible format values:
+ (Add + or - in front of a number to define the sign of the number. By default, only Negative numbers are marked, positive numbers are not marked)
| ||||
技术细节
更多实例 实例 1 把一些文本写入到文件中: <?php $num1 = 123; $num2 = 456; $file = fopen("test.txt","w"); vfprintf($file,"%f%f",array($num1,$num2)); ?> Copy after login 下面的文本将被写入到文件 "test.txt": 123.000000456.000000 Copy after login 实例 2 使用占位符: <?php $number = 123; $file = fopen("test.txt","w"); vfprintf($file,"With 2 decimals: %1$.2f nWith no decimals: %1$u",array($number)); ?> Copy after login 下面的文本将被写入到文件 "test.txt": With 2 decimals: 123.00 With no decimals: 123 Copy after login 实例 3 使用 printf() 来演示所有可能的格式值: <?php $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) ?> Copy after login vfprintf(格式化输出数据至文件) 相关函数 printf,fscanf,fprintf Copy after login 表头文件 #include<stdio.h> #include<stdarg.h> Copy after login int vfprintf(FILE *stream,const char * format,va_list ap); Copy after login 函数说明 vfprintf()会根据参数format字符串来转换并格式化数据,然后将结果输出到参数stream指定的文件中,直到出现字符串结束(’/0’)为止。关于参数format字符串的格式请参考printf()。va_list用法请参考附录C或vprintf()范例。 成功则返回实际输出的字符数,失败则返回-1,错误原因存于errno中。 The above is the detailed content of PHP writes the formatted string to the specified output stream function vfprintf(). For more information, please follow other related articles on the PHP Chinese website!
Previous article:PHP converts the first character of each word in a string to uppercase using the function ucwords()
Next article:PHP function vprintf() that outputs formatted strings
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Articles by Author
Latest Issues
Group MySQL results by ID for looping over
I have a table with flight data in mysql. I'm writing a php code that will group and displ...
From 2024-04-06 17:27:56
0
1
406
Related Topics
More>
Popular Recommendations
Popular Tutorials
More>
Latest Downloads
More>
|