Schreiben Sie die formatierte Zeichenfolge in eine Variable:
<?php$number = 9;$str = "Peking";$txt = vsprintf("Es gibt %u Millionen Fahrräder in %s.",array($number,$str));echo $txt;?>Die Funktion vsprintf() schreibt die formatierte Zeichenfolge in eine Variable.
Im Gegensatz zu sprintf() befinden sich die Argumente in vsprintf() in einem Array. Array-Elemente werden am 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-Parameter vorhanden sind, müssen Sie Platzhalter verwenden. Der Platzhalter wird nach dem %-Symbol eingefügt und besteht aus einer Zahl und „$“. Siehe Beispiel 2.
Tipp: Verwandte Funktionen: fprintf(), vfprintf(), printf(), sprintf() und vprintf()
vsprintf( format,argarray )
Parameter | beschreiben |
---|---|
Format | Erforderlich. Gibt eine Zeichenfolge an und wie die darin enthaltenen Variablen formatiert werden sollen. Mögliche Formatwerte: %% – gibt ein Prozentzeichen % zurück %b – Binärzahl %c – das Zeichen, das dem ASCII-Wert entspricht %d – Dezimalzahl mit Vorzeichen (negativ, 0, positiv) %e – Verwenden Sie die wissenschaftliche Schreibweise in Kleinbuchstaben (z. B. 1.2e+2) %E – Verwenden Sie die wissenschaftliche Großschreibung (z. B. 1.2E+2) %u – Dezimalzahl ohne Vorzeichen (größer oder gleich 0) %f – Gleitkommazahl (lokale Einstellung) %F – Gleitkommazahl (nicht native Einstellung) %g – die kürzere Version von %e und %f %G – kürzeres %E und %f %o – Oktalzahl %s – Zeichenfolge %x – Hexadezimalzahl (Kleinbuchstaben) %X – Hexadezimalzahl (Großbuchstaben) Zusätzliche Formatwerte. Muss zwischen % und einem Buchstaben stehen (z. B. %.2f): + (Fügen Sie + oder - vor einer Zahl hinzu, um das Vorzeichen der Zahl zu definieren. Standardmäßig werden nur negative Zahlen markiert, positive Zahlen werden nicht markiert.) ' (Gibt an, was als Auffüllung verwendet werden soll, standardmäßig Leerzeichen. Es muss mit einem Breitenbezeichner verwendet werden. Beispiel: %'x20s (verwenden Sie „x“ als Auffüllung)) - (Wert der linken Anpassungsvariable) [0-9] (gibt die Mindestbreite des Variablenwerts an) .[0-9] (gibt die Anzahl der Dezimalstellen oder die maximale Stringlänge an) Hinweis: Wenn mehrere der oben genannten Formatwerte verwendet werden, müssen diese in der oben genannten Reihenfolge verwendet werden und dürfen nicht unterbrochen werden. |
argarray | Erforderlich. Ein Array mit Parametern, die an %-Symbolen in die Formatzeichenfolge eingefügt werden. |
Rückgabewert: | Gibt einen Array-Wert als formatierte Zeichenfolge zurück. |
---|---|
PHP-Version: | 4.1.0+ |
Verwenden Sie den Formatwert %f:
<?php$num1 = 123;$num2 = 456;$txt = vsprintf("%f%f",array($num1,$num2));echo $txt;?>Platzhalter verwenden:
<?php$number = 123;$txt = vsprintf("Mit 2 Dezimalstellen: %1$.2f<br>Ohne Dezimalstellen: %1$u",array($number));echo $txt;?>Verwenden Sie sprintf(), um alle möglichen Formatwerte zu demonstrieren:
<?php$num1 = 123456789;$num2 = -123456789;$char = 50; // Das ASCII-Zeichen 50 ist 2// Hinweis: Der Formatwert „%%“ gibt ein Prozentzeichen zurück.echo sprintf(“%%b = % b",$num1)."<br>"; // Binäre Zahlecho sprintf("%%c = %c",$char)."<br>"; // Das ASCII-Zeichenecho sprintf("%%d = %d",$num1)."<br>"; // Vorzeichenbehaftete Dezimalzahlecho sprintf("%% d = %d",$num2)."<br>"; // Vorzeichenbehaftete Dezimalzahlecho sprintf("%%e = %e",$num1)."<br>"; // Wissenschaftliche Notation (lowercase)echo sprintf("%%E = %E",$num1)."<br>"; // Wissenschaftliche Notation (uppercase)echo sprintf("%%u = %u",$num1)."< br>"; // Vorzeichenlose Dezimalzahl (positiv)echo sprintf("%%u = %u",$num2)."<br>"; // Vorzeichenlose Dezimalzahl (negativ)echo sprintf("%%f = %f",$num1)."<br>"; // Gleitkommazahl (lokale Einstellungen berücksichtigen)echo sprintf("%%F = %F",$num1)."< br>"; // Gleitkommazahl (nicht für lokale Einstellungen geeignet)echo sprintf("%%g = %g",$num1)."<br>"; // Kürzer von %e und %fecho sprintf("%%G = %G",$num1)."<br>"; // Kürzer von %E und %fecho sprintf("%%o = %o",$num1)."<br>" ; // Oktalzahlecho sprintf("%%s = %s",$num1)."<br>" // Stringecho sprintf("%%x = %x",$num1)."<br>"; // Hexadezimalzahl (Kleinbuchstaben)echo sprintf("%%X = %X",$num1)."<br>"; // Hexadezimalzahl (Großbuchstaben)echo sprintf("%%+d = %+d", $num1)."<br>"; // Vorzeichenspezifizierer (positiv)echo sprintf("%%+d = %+d",$num2)."<br>"; (negativ)?>Demonstration von String-Spezifizierern:
<?php$str1 = "Hallo";$str2 = "Hallo Welt!";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>" ?>