Funkcja vsprintf() w PHP
Przykład
Zapisz formowaną ciąg liter do zmiennej:
<?php $number = 9; $str = "Beijing"; $txt = vsprintf("There are 쥕lion bicycles in %s.",array($number,$str)); echo $txt; ?>
Definicja i użycie
Funkcja vsprintf() zapisuje formowaną ciąg liter do zmiennej.
Różni się od sprintf(), w vsprintf() parametry znajdują się w tablicy. Elementy tablicy będą wstawiane w miejsca symboli procentowych (%) w głównym łańcuchu. Funkcja jest wykonywana krok po kroku. W pierwszym symbolu % wstawia pierwszy element tablicy, w drugim symbolu % wstawia drugi element tablicy, i tak dalej.
Komentarz:Jeśli jest więcej symboli %} arg Jeśli używasz parametrów, musisz użyć znaków zastępczych. Znaki zastępcze są wstawiane po symbolu %, składają się z liczby i "\$". Zobacz przykład 2.
Wskazówka:Związane funkcje:
Gramatyka
vsprintf(format,argarray)
Parametry | Opis |
---|---|
format |
Wymagane. Określa ciąg znaków oraz sposób formatowania zmiennych w nim zawartych. Możliwe wartości formatowe:
Dodatkowe wartości formatowe. Muszą być umieszczone między % a literą (np. %.2f):
Komentarz:Jeśli używasz wielu powyższych wartości formatowych, muszą być one używane w kolejności podanej powyżej, nie mogą być pomieszane. |
argarray | Wymagane. Tablica z parametrami, które będą wstawione format W miejscu symbolu % w ciągu znaków. |
Szczegółowe informacje techniczne
Zwracana wartość: | Zwraca wartości tablicy w formie formułowanej ciągu znaków. |
Wersja PHP: | 4.1.0+ |
Więcej przykładów
Przykład 1
Używaj wartości formatowej %f:
<?php $num1 = 123; $num2 = 456; $txt = vsprintf("%f%f",array($num1,$num2)); echo $txt; ?>
Przykład 2
Używaj znaków zastępczych:
<?php $number = 123; $txt = vsprintf("Z dwoma miejscami po przecinku:%1\$.2f<br>Bez miejsc po przecinku:%1\$u",array($number)); echo $txt; ?>
Przykład 3
Używaj sprintf() do pokazania wszystkich możliwych wartości formatowych:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // Znak ASCII 50 to 2 // Komentarz: Wartość formatowa "%%" zwraca procent 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>"; // Liczby szesnastkowe (małe litery) echo sprintf("%%X = %X",$num1)."<br>"; // Liczby szesnastkowe (wielkie litery) echo sprintf("%%+d = %+d",$num1)."<br>"; // Wskazówka znaków (dodatni) echo sprintf("%%+d = %+d",$num2)."<br>"; // Wskazówka znaków (ujemny) ?>
Przykład 4
Przykład prezentacji znacznika łańcucha znaków:
<?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>"; ?>