Fungsi vsprintf() PHP
Contoh
Menulis string yang disesuaikan ke dalam variabel:
<?php $number = 9; $str = "Beijing"; $txt = vsprintf("Ada 윝a sepeda besi di %s.", array($number, $str)); echo $txt; ?>
Definisi dan penggunaan
Fungsi vsprintf() menulis string yang disesuaikan ke dalam variabel.
Beberapa fungsi sprintf() berbeda, parameter vsprintf() berada di dalam array. Elemen array akan disisipkan ke dalam string utama di tempat simbol persen (%). Fungsi ini dijalankan secara bertahap. Di tempat simbol % pertama, elemen array pertama disisipkan, di tempat simbol % kedua, elemen array kedua disisipkan, dan seterusnya.
注释:如果 % 符号多于 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; ?>
例子 2
使用占位符:
<?php $number = 123; $txt = vsprintf("有两位小数:%1\$.2f<br>没有小数:%1\$u",array($number)); echo $txt; ?>
例子 3
使用 sprintf() 来演示所有可能的格式值:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // ASCII 字符 50 adalah 2 // 注释:格式值 "%%" 返回百分号 echo sprintf("%%b = %b",$num1)."<br>"; // 二进制数 echo sprintf("%%c = %c",$char)."<br>"; // ASCII 字符 echo sprintf("%%d = %d",$num1)."<br>"; // 带符号的十进制数 echo sprintf("%%d = %d",$num2)."<br>"; // 带符号的十进制数 echo sprintf("%%e = %e",$num1)."<br>"; // 科学计数法(小写) echo sprintf("%%E = %E",$num1)."<br>"; // 科学计数法(大写) echo sprintf("%鑾u",$num1)."<br>"; // 不带符号的十进制数(正) echo sprintf("%鑾u",$num2)."<br>"; // 不带符号的十进制数(负) echo sprintf("%%f = %f",$num1)."<br>"; // 浮点数(视本地设置) echo sprintf("%%F = %F",$num1)."<br>"; // 浮点数(不视本地设置) echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f echo sprintf("%%o = %o",$num1)."<br>"; // 八进制数 echo sprintf("%%s = %s",$num1)."<br>"; // 字符串 echo sprintf("%%x = %x",$num1)."<br>"; // Bilangan Hexadesimal (kecil) echo sprintf("%%X = %X",$num1)."<br>"; // Bilangan Hexadesimal (besar) echo sprintf("%%+d = %+d",$num1)."<br>"; // Indikator Simbol (positif) echo sprintf("%%+d = %+d",$num2)."<br>"; // Indikator Simbol (negatif) ?>
Contoh 4
Pertunjukan Indikator String
<?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>"; ?>