【函数功能】
该函数把格式化的字符串写入到变量中。
【函数语法】
vsprintf ($format, array $args)
【参数说明】
$format:必需,字符串以及如何格式化其中的变量。
其中变量可能的格式值:
%% - 返回一个百分号 %
%b - 二进制数
%c - ASCII 值对应的字符
%d - 包含正负号的十进制数(负数、0、正数)
%e - 使用小写的科学计数法(例如 1.2e+2)
%E - 使用大写的科学计数法(例如 1.2E+2)
%u - 不包含正负号的十进制数(大于等于 0)
%f - 浮点数(本地设置)
%F - 浮点数(非本地设置)
%g - 较短的 %e 和 %f
%G - 较短的 %E 和 %f
%o - 八进制数
%s - 字符串
%x - 十六进制数(小写字母)
%X - 十六进制数(大写字母)
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
+ (在数字前面加上 + 或 - 来定义数字的正负性。默认情况下,只有负数才做标记,正数不做标记)
' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。例如:%'x20s(使用 "x" 作为填充))
- (左调整变量值)
[0-9] (规定变量值的最小宽度)
.[0-9] (规定小数位数或最大字符串长度)
注释:如果使用多个格式值,它们必须按照以上顺序。
$args:必需,带有参数的一个数组,这些参数会被插到 format 字符串中的 % 符号处。
【演示程序】
<?php
/**
* vsprintf ($format, array $args)
* **/
$format = "test vsprintf function:100%% useful,%b binary,%c ASCII,%d number,%e big number,%.2f float,%'x20s";
$args = array(100,98,1234,99999999999,'-10',"and so on!");
echo vsprintf($handle, $format, $args);
?>
【输出结果】
test vsprintf function:100% useful,1100100 binary,b ASCII,1234 number,1.000000e+11 big number,-10.00 float,xxxxxxxxxxand so on!
【特别注意】
1.与 sprintf() 不同,vsprintf() 中的参数位于数组中。数组元素将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个 % 符号处,插入第一个数组元素,在第二个 % 符号处,插入第二个数组元素,依此类推。
2.如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入到 % 符号之后,由数字和 "\$" 组成。
3.PHP 版本:4.1.0+。
【原版定义】
/**
* Return a formatted string
* @link http://www.php.net/manual/en/function.vsprintf.php
* @param format string <p>
* See sprintf for a description of
* format.
* </p>
* @param args array <p>
* </p>
* @return string Return array values as a formatted string according to
* format (which is described in the documentation
* for sprintf).
*/
转载请注明出处:php1234.cn ,原文地址:http://www.php1234.cn/a/functions/2016/1115/131.html