Funzione vsprintf() di PHP
Esempio
Scrivere la stringa formattata nella variabile:
<?php $number = 9; $str = "Beijing"; $txt = vsprintf("Ci sono 쥕ioni di biciclette in %s.", array($number, $str)); echo $txt; ?>
Definizione e uso
La funzione vsprintf() scrive la stringa formattata nella variabile.
Diverso da sprintf(), i parametri in vsprintf() si trovano nell'array. Gli elementi dell'array vengono inseriti nei segni di percentuale (%) della stringa principale. La funzione viene eseguita gradualmente. Al primo %, viene inserito il primo elemento dell'array, al secondo %, viene inserito il secondo elemento dell'array, e così via.
注释:如果 % 符号多于 arg 参数,则您必须使用占位符。占位符被插入到 % 符号之后,由数字和 "\$" 组成。请参见例子 2。
提示:相关函数:
语法
vsprintf(format,argarray)
参数 | 描述 |
---|---|
format |
必需。规定字符串以及如何格式化其中的变量。 可能的格式值:
附加的格式值。必需放置在 % 和字母之间(例如 %.2f):
注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。 |
argarray | 必需。带有参数的一个数组,这些参数会被插到 format 字符串中的 % 符号处。 |
技术细节
返回值: | 以格式化字符串的形式返回数组值。 |
PHP 版本: | 4.1.0+ |
更多实例
例子 1
使用格式值 %f:
<?php $num1 = 123; $num2 = 456; $txt = vsprintf("%f%f",array($num1,$num2)); echo $txt; ?>
Example 2
Using placeholders:
<?php $number = 123; $txt = vsprintf("有两位小数:%1\$.2f<br>没有小数:%1\$u",array($number)); echo $txt; ?>
Example 3
Using sprintf() to demonstrate all possible format values:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII character 50 is 2 // Comment: The format value "%%" returns the percentage sign echo sprintf("%%b = %b",$num1)."<br>"; // Binary number echo sprintf("%%c = %c",$char)."<br>"; // ASCII character echo sprintf("%%d = %d",$num1)."<br>"; // Signed decimal number echo sprintf("%%d = %d",$num2)."<br>"; // Signed decimal number echo sprintf("%%e = %e",$num1)."<br>"; // Scientific notation (lowercase) echo sprintf("%%E = %E",$num1)."<br>"; // Scientific notation (uppercase) echo sprintf("%鑾u",$num1)."<br>"; // Unsigned decimal number (positive) echo sprintf("%鑾u",$num2)."<br>"; // Unsigned decimal number (negative) echo sprintf("%%f = %f",$num1)."<br>"; // Floating point number (considering local settings) echo sprintf("%%F = %F",$num1)."<br>"; // Floating point number (not considering local settings) echo sprintf("%%g = %g",$num1)."<br>"; // Shorter than %e and %f echo sprintf("%%G = %G",$num1)."<br>"; // Shorter than %E and %f echo sprintf("%%o = %o",$num1)."<br>"; // Octal number echo sprintf("%%s = %s",$num1)."<br>"; // String echo sprintf("%%x = %x",$num1)."<br>"; // Numero esadecimale (minuscolo) echo sprintf("%%X = %X",$num1)."<br>"; // Numero esadecimale (maiuscolo) echo sprintf("%%+d = %+d",$num1)."<br>"; // Simbolo di segno (positivo) echo sprintf("%%+d = %+d",$num2)."<br>"; // Simbolo di segno (negativo) ?>
Esempio 4
Dimostrazione di simboli di stringa:
<?php $str1 = "Hello"; $str2 = "Hello world!"; echo vsprintf("[%s]",array($str1))."<br>"; echo vsprintf("[%8s]",array($str1))."<br>"; echo vsprintf("[%-8s]",array($str1))."<br>"; echo vsprintf("[%08s]",array($str1))."<br>"; echo vsprintf("[%'*8s]",array($str1))."<br>"; echo vsprintf("[%8.8s]",array($str2))."<br>"; ?>