吟空麦子

PHP中vsprintf()函数的用法(占位符)

麦子今天用到了php的vsprintf()这个函数,查询了用法,现在记录下来,顺便供更多的朋友们查询。
vsprintf() 函数主要用于把格式化字符串写入变量中。它与 sprintf() 不同,vsprintf() 中的 arg 参数位于数组中。数组的元素会被插入主字符串的百分比 (%) 符号处。该函数是逐步执行的。在第一个 % 符号中,插入 arg1,在第二个 % 符号处,插入 arg2,依此类推。

主要用法就是:vsprintf(format,argarray)

参数 描述
format 必需。转换格式。
argarray 必需。带有参数的一个数组,这些参数会被插到 format 字符串中的 % 符号处。

PS:看不懂,没关系,下面有例子。

好了,看例子吧。

例子一:

$str = "Hello";

$number = 111;

$txt = vsprintf("%s ykmaiz. Day number %u",array($str,$number));

echo $txt;

输出结果:
Hello ykmaiz. Day number 111

例子二:

$number = 111;

$txt = vsprintf("With 2 decimals: %1\$.2f<br />With no decimals: %1\$u",array($number));

echo $txt;

输出结果:
With 2 decimals: 111.00
With no decimals: 111

例子三:

$num1 = 111;

$num2 = 222;

$txt = vsprintf("%f<br/>%f",array($num1,$num2));

echo $txt;

输出结果:
123.000000
456.000000

看了例子是不是一下就明白了?

最后补充一点关于占位符的说明:

参数 format 是转换的格式,以百分比符号 (“%”) 开始到转换字符结束。下面的可能的 format 值:

%% – 返回百分比符号
%b – 二进制数
%c – 依照 ASCII 值的字符
%d – 带符号十进制数
%e – 可续计数法(比如 1.5e+3)
%u – 无符号十进制数
%f – 浮点数(local settings aware)
%F – 浮点数(not local settings aware)
%o – 八进制数
%s – 字符串
%x – 十六进制数(小写字母)
%X – 十六进制数(大写字母)

赶快去试试吧!

码字很辛苦,转载请注明来自吟空麦子的技术博客《PHP中vsprintf()函数的用法(占位符)》 原文链接:https://www.ykmaiz.com/php/165.html

评论