Heim > Artikel > Backend-Entwicklung > PHP schreibt den formatierten String mit der Funktion vsprintf() in eine Variable
Beispiel
Schreiben Sie die Formatzeichenfolge in eine Variable:
<?php $number = 9; $str = "Beijing"; $txt = vsprintf("There are %u million bicycles in %s.",array($number,$str)); echo $txt; ?>
Definition und Verwendung
Die Funktion vsprintf() schreibt die Formatzeichenfolge in eine Variablenmitte.
Im Gegensatz zu sprintf() liegen die Argumente in vsprintf() in einem Array. Array-Elemente werden mit Prozentzeichen (%) in die Hauptzeichenfolge eingefügt. Diese Funktion wird Schritt für Schritt ausgeführt. Beim ersten %-Zeichen wird das erste Array-Element eingefügt, beim zweiten %-Zeichen wird das zweite Array-Element eingefügt und so weiter.
Hinweis: Wenn mehr %-Symbole als arg-Argumente vorhanden sind, müssen Sie Platzhalter verwenden. Der Platzhalter wird nach dem %-Symbol eingefügt und besteht aus einer Zahl gefolgt von „$“. Siehe Beispiel 2.
Tipp: Verwandte Funktionen: fprintf(), vfprintf(), printf(), sprintf() und vprintf()
Syntax
vsprintf(format,argarray)
Parameter | Beschreibung | ||||||
Format | Erforderlich. Gibt eine Zeichenfolge und die Formatierung der darin enthaltenen Variablen an.
|
||||||
argarray | Erforderlich. Ein Array mit Parametern, die bei %-Symbolen in die Formatzeichenfolge eingefügt werden sollen. |
技术细节
返回值: | 以格式化字符串的形式返回数组值。 |
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("With 2 decimals: %1$.2f <br>With no decimals: %1$u",array($number)); echo $txt; ?>
实例 3
使用 sprintf() 来演示所有可能的格式值:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // The ASCII Character 50 is 2 // Note: The format value "%%" returns a percent sign echo sprintf("%%b = %b",$num1)."<br>"; // Binary number echo sprintf("%%c = %c",$char)."<br>"; // The 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 = %u",$num1)."<br>"; // Unsigned decimal number (positive) echo sprintf("%%u = %u",$num2)."<br>"; // Unsigned decimal number (negative) echo sprintf("%%f = %f",$num1)."<br>"; // Floating-point number (local settings aware) echo sprintf("%%F = %F",$num1)."<br>"; // Floating-point number (not local sett aware) echo sprintf("%%g = %g",$num1)."<br>"; // Shorter of %e and %f echo sprintf("%%G = %G",$num1)."<br>"; // Shorter of %E and %f echo sprintf("%%o = %o",$num1)."<br>"; // Octal number echo sprintf("%%s = %s",$num1)."<br>"; // String echo sprintf("%%x = %x",$num1)."<br>"; // Hexadecimal number (lowercase) echo sprintf("%%X = %X",$num1)."<br>"; // Hexadecimal number (uppercase) echo sprintf("%%+d = %+d",$num1)."<br>"; // Sign specifier (positive) echo sprintf("%%+d = %+d",$num2)."<br>"; // Sign specifier (negative) ?>
实例 4
字符串说明符的演示:
<?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>"; ?>
Das obige ist der detaillierte Inhalt vonPHP schreibt den formatierten String mit der Funktion vsprintf() in eine Variable. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!