PHP vsprintf()函数格式化字符串操作原理解析
实例
把格式化字符串写入变量中:
定义和用法
vsprintf()函数把格式化字符串写入变量中。
与sprintf()不同,vsprintf()中的参数位于数组中。数组元素将被插入到主字符串中的百分号(%)符号处。该函数是逐步执行的。在第一个%符号处,插入第一个数组元素,在第二个%符号处,插入第二个数组元素,依此类推。
注释:如果%符号多于arg参数,则您必须使用占位符。占位符被插入到%符号之后,由数字和"\$"组成。请参见例子2。
语法
vsprintf(format,argarray)
参数 | 描述 |
---|---|
format | 必需。规定字符串以及如何格式化其中的变量。可能的格式值: |
argarray | 必需。带有参数的一个数组,这些参数会被插到format字符串中的%符号处。 |
技术细节
返回值:以格式化字符串的形式返回数组值。PHP版本:4.1.0+
更多实例
例子1
使用格式值%f:
例子2
使用占位符:
没有小数:%1\$u",array($number)); echo$txt; ?>
例子3
使用sprintf()来演示所有可能的格式值:
";//二进制数 echosprintf("%%c=%c",$char)."
";//ASCII字符 echosprintf("%%d=%d",$num1)."
";//带符号的十进制数 echosprintf("%%d=%d",$num2)."
";//带符号的十进制数 echosprintf("%%e=%e",$num1)."
";//科学计数法(小写) echosprintf("%%E=%E",$num1)."
";//科学计数法(大写) echosprintf("%%u=%u",$num1)."
";//不带符号的十进制数(正) echosprintf("%%u=%u",$num2)."
";//不带符号的十进制数(负) echosprintf("%%f=%f",$num1)."
";//浮点数(视本地设置) echosprintf("%%F=%F",$num1)."
";//浮点数(不视本地设置) echosprintf("%%g=%g",$num1)."
";//短于%e和%f echosprintf("%%G=%G",$num1)."
";//短于%E和%f echosprintf("%%o=%o",$num1)."
";//八进制数 echosprintf("%%s=%s",$num1)."
";//字符串 echosprintf("%%x=%x",$num1)."
";//十六进制数(小写) echosprintf("%%X=%X",$num1)."
";//十六进制数(大写) echosprintf("%%+d=%+d",$num1)."
";//符号说明符(正) echosprintf("%%+d=%+d",$num2)."
";//符号说明符(负) ?>
例子4
字符串说明符的演示:
"; echovsprintf("[%8s]",array($str1))."
"; echovsprintf("[%-8s]",array($str1))."
"; echovsprintf("[%08s]",array($str1))."
"; echovsprintf("[%'*8s]",array($str1))."
"; echovsprintf("[%8.8s]",array($str2))."
"; ?>
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。