PHP sprintf() Funktion
Beispiel
Ersetzen Sie das Prozentsymbol (%) durch eine Variable, die als Parameter übergeben wird:
<?php $number = 2; $str = "Shanghai"; Der Text wird mit sprintf("Es gibt lionen Autos in %s.", $number, $str) formatiert; echo $txt; ?>
Definition und Verwendung
Die Funktion sprintf() schreibt den formatierten String in eine Variable.
arg1,arg2,++ Der Parameter wird an der Stelle des Prozentsatzzeichens (%) im Hauptstring eingefügt. Diese Funktion wird schrittweise ausgeführt. An der ersten Position des %-Zeichens, fügen Sie ein arg1, in der zweiten Position des %-Zeichens, fügen Sie ein arg2, usw.
Anmerkung:Wenn der %-Zeichen mehr als arg Wenn mehrere Parameter angegeben werden, müssen Sie Platzhalter verwenden. Der Platzhalter befindet sich nach dem %-Zeichen und besteht aus einer Zahl und "\$". Siehe Beispiel 2.
Hinweis:Verwandte Funktionen: printf(), vprintf(), vsprintf(), fprintf() und vfprintf()
Syntax
sprintf(format,arg1,arg2,arg++)
Parameter | Beschreibung |
---|---|
format |
Erforderlich. Bestimmt den String und wie die Variablen darin formatiert werden. Mögliche Formatwerte:
Zusätzliche Formatwerte. Erforderlich, um zwischen % und dem Buchstaben zu platzieren (z.B. %.2f):
Anmerkung:Wenn mehrere der obigen Formatwerte verwendet werden, müssen sie in der angegebenen Reihenfolge verwendet werden. |
arg1 | Erforderlich. Bestimmt, wo eingefügt wird format Der Parameter an der ersten Position des %-Zeichens im String. |
arg2 | Optional. Bestimmt, wo eingefügt wird format Der Parameter an der zweiten Position des %-Zeichens im String. |
arg++ | Optional. Bestimmt, wo eingefügt wird format Der Parameter an der dritten und vierten Position des %-Zeichens im String. |
Technische Details
Rückgabewert: | Rückgabe des formatierten Strings. |
PHP-Version: | 4+ |
Mehr Beispiele
Beispiel 1
Verwendung des Formatwerts %f:
<?php $number = 123; $txt = sprintf("%f",$number); echo $txt; ?>
Beispiel 2
Verwendung von Platzhaltern:
<?php $number = 123; $txt = sprintf("Mit zwei Dezimalzahlen:%1$.2f <br>Ohne Dezimalzahlen: %1$u,$number); echo $txt; ?>
Beispiel 3
Demonstration aller möglichen Formatwerte:
<?php $num1 = 123456789; $num2 = -123456789; $char = 50; // Der ASCII-Zeichenwert 50 ist 2 // Anmerkung: Der Formatwert "%%" gibt den Prozentsatz zurück echo sprintf("%%b = %b",$num1)."<br>"; // Binärzahl echo sprintf("%%c = %c",$char)."<br>"; // ASCII-Zeichen echo sprintf("%%d = %d",$num1)."<br>"; // signierte Dezimalzahl echo sprintf("%%d = %d",$num2)."<br>"; // signierte Dezimalzahl echo sprintf("%%e = %e",$num1)."<br>"; // wissenschaftliche Notation (klein) echo sprintf("%%E = %E",$num1)."<br>"; // wissenschaftliche Notation (groß) echo sprintf("%鑾u",$num1)."<br>"; // nicht signierte Dezimalzahl (positiv) echo sprintf("%鑾u",$num2)."<br>"; // nicht signierte Dezimalzahl (negativ) echo sprintf("%%f = %f",$num1)."<br>"; // Fließkommazahl (mit Beachtung der lokalen Einstellungen) echo sprintf("%%F = %F",$num1)."<br>"; // Fließkommazahl (ohne Beachtung der lokalen Einstellungen) echo sprintf("%%g = %g",$num1)."<br>"; // kürzer als %e und %f echo sprintf("%%G = %G",$num1)."<br>"; // kürzer als %E und %f echo sprintf("%%o = %o",$num1)."<br>"; // oktalzahl echo sprintf("%%s = %s",$num1)."<br>"; // Zeichenkette echo sprintf("%%x = %x",$num1)."<br>"; // Hexadezimalzahl (klein) echo sprintf("%%X = %X",$num1)."<br>"; // Hexadezimalzahl (groß) echo sprintf("%%+d = %+d",$num1)."<br>"; // Symbolischer Bezeichner (positiv) echo sprintf("%%+d = %+d",$num2)."<br>"; // Symbolischer Bezeichner (negativ) ?>
Beispiel 4
Demonstration der String-Bezeichner:
<?php $str1 = "Hello"; $str2 = "Hello world!"; echo sprintf("[%s]",$str1)."<br>"; echo sprintf("[%8s]",$str1)."<br>"; echo sprintf("[%-8s]",$str1)."<br>"; echo sprintf("[%08s]",$str1)."<br>"; echo sprintf("[%'*8s]",$str1)."<br>"; echo sprintf("[%8.8s]",$str2)."<br>"; ?>