PHP sprintf()Funktionen
PHP-String-Referenzhandbuch
Beispiele
Ersetzen Sie das Prozentzeichen (%) durch eine als Parameter übergebene Variable:
<?php
$number = 9;
$str = "BEISPIEL";
$txt = sprintf("Jeden Tag besuchen %u zehntausend Menschen %s!", $str, $number);
echo $txt;
?>
Die Ausgabe sieht wie folgt aus:
EXAMPLE 每天有 9 万人在访问!
Definition und Verwendung
Die Funktion sprintf() schreibt eine formatierte Zeichenkette in eine Variable.
Die Parameter arg1, arg2, ++ werden an der Stelle des Prozentzeichens (%) in der Hauptzeichenkette eingefügt. Diese Funktion wird Schritt für Schritt ausgeführt. Beim ersten %-Zeichen wird arg1 eingefügt, beim zweiten %-Zeichen arg2, und so weiter.
Hinweis:Wenn es mehr %-Zeichen als arg-Parameter gibt, müssen Sie Platzhalter verwenden. Ein Platzhalter wird nach dem %-Zeichen eingefügt und besteht aus einer Zahl und "\$". Siehe Beispiel 2.
Tipp:Verwandte Funktionen:printf()、
vprintf()、
vsprintf()、
fprintf()undvfprintf()
Syntax
sprintf(format,arg1,arg2,arg++)
| Parameters |
Beschreibung |
| format |
Erforderlich. Gibt die Zeichenfolge an und wie die darin enthaltenen Variablen formatiert werden. Mögliche Formatwerte:
- %% - Gibt ein Prozentzeichen % zurück
- %b - Binärzahl
- %c - Das Zeichen, das dem ASCII-Wert entspricht
- %d - Dezimalzahl mit Vorzeichen (negativ, null, positiv)
- %e - Wissenschaftliche Notation mit Kleinbuchstaben (z. B. 1.2e+2)
- %E - Wissenschaftliche Notation mit Großbuchstaben (z. B. 1.2E+2)
- %u - Dezimalzahl ohne Vorzeichen (größer oder gleich 0)
- %f - Gleitkommazahl (lokale Einstellungen)
- %F - Gleitkommazahl (nicht-lokale Einstellungen)
- %g - Kürzere Darstellung von %e und %f
- %G - Kürzere Darstellung von %E und %f
- %o - Oktalzahl
- %s - Zeichenkette
- %x - Hexadezimalzahl (Kleinbuchstaben)
- %X - Hexadezimalzahl (Großbuchstaben)
Zusätzliche Formatwerte. Müssen zwischen % und dem Buchstaben platziert werden (z. B. %.2f):
- + (Fügt + oder - vor einer Zahl hinzu, um ihr Vorzeichen festzulegen. Standardmäßig werden nur negative Zahlen markiert, positive Zahlen nicht)
- ' (Gibt an, was als Füllzeichen verwendet werden soll, Standard ist ein Leerzeichen. Es muss zusammen mit dem Breitenbezeichner verwendet werden. Zum Beispiel: %'x20s (wobei "x" als Füllzeichen verwendet wird))
- - (Richtet den Variablenwert linksbündig aus)
- [0-9] (Gibt die Mindestbreite des Variablenwerts an)
- .[0-9] (Gibt die Anzahl der Dezimalstellen oder die maximale Zeichenfolgenlänge an)
Hinweis:Wenn mehrere der oben genannten Formatwerte verwendet werden, müssen sie in der oben genannten Reihenfolge verwendet werden und dürfen nicht neu angeordnet werden.
|
| arg1 |
Erforderlich. Gibt den Parameter an, der an dem ersten %-Zeichen in der Formatzeichenfolge eingefügt wird. |
| arg2 |
Optional. Gibt den Parameter an, der an dem zweiten %-Zeichen in der Formatzeichenfolge eingefügt wird. |
| arg++ |
Optional. Gibt die Parameter an, die an den dritten, vierten usw. %-Zeichen in der Formatzeichenfolge eingefügt werden. |
Technische Details
| Rückgabewert: |
Gibt die formatierte Zeichenfolge zurück. |
| PHP-Version: |
4+ |
Weitere Beispiele
Beispiel 1
Verwendung des Formatwerts %f:
<?php
$number = 123;
$txt = sprintf("%f",$number);
echo $txt;
?>
Beispiel ausführen »
Beispiel 2
Verwendung von Platzhaltern:
<?php
$number = 123;
$txt = sprintf("Mit zwei Dezimalstellen: %1\$.2f
<br>Ohne Dezimalstellen: %1\$u",$number);
echo $txt;
?>
Beispiel ausführen »
Beispiel 3
Demonstration aller möglichen Formatwerte:
<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50;
echo sprintf("%%b = %b",$num1)."<br>";
echo sprintf("%%c = %c",$char)."<br>";
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 = %u",$num1)."<br>";
echo sprintf("%%u = %u",$num2)."<br>";
echo sprintf("%%f = %f",$num1)."<br>";
echo sprintf("%%F = %F",$num1)."<br>";
echo sprintf("%%g = %g",$num1)."<br>";
echo sprintf("%%G = %G",$num1)."<br>";
echo sprintf("%%o = %o",$num1)."<br>";
echo sprintf("%%s = %s",$num1)."<br>";
echo sprintf("%%x = %x",$num1)."<br>";
echo sprintf("%%X = %X",$num1)."<br>";
echo sprintf("%%+d = %+d",$num1)."<br>";
echo sprintf("%%+d = %+d",$num2)."<br>";
?>
Beispiel 4
Demonstration der String-Spezifizierer:
<?php
$str1 = "Hallo";
$str2 = "Hallo Welt!";
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>";
?>
Beispiel ausführen »
PHP-String-Referenzhandbuch Weitere Erweiterungen