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;
?>

Laufende Beispiele

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:

  • %% - Gibt einen Prozentsatz (%) zurück
  • %b - Binärzahl
  • %c - ASCII-Wert entsprechendes Zeichen
  • %d - Dezimalzahl mit Vorzeichen (Negativ, 0, Positiv)
  • %e - Verwendet Kleinschreibung im wissenschaftlichen Zeichensystem (z.B. 1.2e+2)
  • %E - Verwendet Grossbuchstaben im wissenschaftlichen Zeichensystem (z.B. 1.2E+2)
  • 蒝ezimalzahl ohne Vorzeichen (größer oder gleich 0)
  • %f - Fließkommazahl (lokal konfiguriert)
  • %F - Fließkommazahl (nicht lokal konfiguriert)
  • %g - Kurze %e und %f
  • %G - Kurze %E und %f
  • %o - Oktalzahl
  • %s - Zeichenkette
  • %x - Hexadezimalzahl (Kleinschreibung)
  • %X - Hexadezimalzahl (Großbuchstaben)

Zusätzliche Formatwerte. Erforderlich, um zwischen % und dem Buchstaben zu platzieren (z.B. %.2f):

  • + (Fügt ein + oder - vor die Zahl, um die Positivität oder Negativität der Zahl zu definieren. Standardmäßig werden nur Negative markiert, Positive nicht.)
  • ' (Bestimmt, was als Füllung verwendet wird, Standard ist ein Leerzeichen. Es muss mit dem Breitenanbieter verwendet werden. Zum Beispiel: '%'x20s (verwendet "x" als Füllung))
  • - (Linksausrichtung des Variablenwerts)
  • [0-9] (Bestimmt die minimale Breite des Variablenwerts)
  • .[0-9] (Bestimmt die Anzahl der Dezimalstellen oder die maximale Stringlänge)

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;
?>

Laufende Beispiele

Beispiel 2

Verwendung von Platzhaltern:

<?php
$number = 123;
$txt = sprintf("Mit zwei Dezimalzahlen:%1$.2f
<br>Ohne Dezimalzahlen: %1$u,$number);
echo $txt;
?>

Laufende Beispiele

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)
?>

Laufende Beispiele

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>";
?>

Laufende Beispiele