PHP sprintf()Funktionen

PHP String 参考手册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; //ASCII-Zeichen 50 ist 2 //Hinweis: Der Formatwert "%%" gibt ein Prozentzeichen zurück echo sprintf("%%b = %b",$num1)."<br>"; //Binärzahl echo sprintf("%%c = %c",$char)."<br>"; //ASCII-Zeichen echo sprintf("%%d = %d",$num1)."<br>"; //Vorzeichenbehaftete Dezimalzahl echo sprintf("%%d = %d",$num2)."<br>"; //Vorzeichenbehaftete Dezimalzahl echo sprintf("%%e = %e",$num1)."<br>"; //Wissenschaftliche Notation (Kleinbuchstaben) echo sprintf("%%E = %E",$num1)."<br>"; //Wissenschaftliche Notation (Großbuchstaben) 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 (abhängig von lokalen Einstellungen) echo sprintf("%%F = %F",$num1)."<br>"; //Gleitkommazahl (unabhängig von 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 (kleingeschrieben) echo sprintf("%%X = %X",$num1)."<br>"; //Hexadezimalzahl (großgeschrieben) echo sprintf("%%+d = %+d",$num1)."<br>"; //Vorzeichen-Spezifizierer (positiv) echo sprintf("%%+d = %+d",$num2)."<br>"; //Vorzeichen-Spezifizierer (negativ) ?>


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 参考手册PHP-String-Referenzhandbuch Weitere Erweiterungen