PHP vsprintf() Funktion

Beispiel

Formatierten String in eine Variable schreiben:

<?php
$number = 9;
$str = "Beijing";
$txt = vsprintf("Es gibt ꥕lionen Fahrräder in %s.", array($number, $str));
echo $txt;
?>

Laufende Beispiele

Definition und Verwendung

Die Funktion vsprintf() schreibt den formatierten String in eine Variable.

Im Gegensatz zu sprintf() befinden sich die Parameter in vsprintf() in einem Array. Die Array-Elemente werden an den Prozentsymbolen (%) im Hauptstring eingefügt. Diese Funktion wird schrittweise ausgeführt. Am ersten %-Symbol wird das erste Array-Element eingefügt, am zweiten %-Symbol das zweite Array-Element und so weiter.

Kommentare:Wenn es mehr %-Zeichen gibt, arg Parameter, dann müssen Sie Platzhalter verwenden. Platzhalter werden nach dem %-Zeichen eingefügt und bestehen aus einer Nummer und "\$". Siehe Beispiel 2.

Hinweis:Verwandte Funktionen:

Syntax

vsprintf(format,argarray)
Parameter Beschreibung
format

Erforderlich. Bestimmt die Zeichenkette 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 Kleinbuchstaben in der wissenschaftlichen Notation (z.B. 1.2e+2)
  • %E - Verwendet Grossbuchstaben in der wissenschaftlichen Notation (z.B. 1.2E+2)
  • 蒝ezimalzahl ohne Vorzeichen (größer gleich 0)
  • %f - Fließkomma (lokale Einstellungen)
  • %F - Fließkomma (nicht lokale Einstellungen)
  • %g - Kurze %e und %f
  • %G - Kurze %E und %f
  • %o - Oktalzahl
  • %s - Zeichenkette
  • %x - Hexadezimalzahl (Kleinbuchstaben)
  • %X - Hexadezimalzahl (Großbuchstaben)

Zusätzliche Formatwerte. Erforderlich, müssen zwischen % und dem Buchstaben platziert werden (z.B. %.2f):

  • + (fügt vor die Zahl ein + oder -, 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 Leerzeichen. Es muss mit dem Breiten specifier verwendet werden. Zum Beispiel: '%x20s' (verwendet "x" als Füllung))
  • - (links ausrichten des Variablenwerts)
  • .[0-9] (bestimmt die minimale Breite des Variablenwerts)
  • .[0-9] (bestimmt die Anzahl der Dezimalstellen oder die maximale Zeichenlänge)

Kommentare:Wenn mehrere der obigen Formatwerte verwendet werden, müssen sie in der angegebenen Reihenfolge verwendet werden und dürfen nicht durcheinandergebracht werden.

argarray Erforderlich. Ein Array mit Parametern, die in den format An der Stelle des %-Zeichens in der Zeichenkette.

Technische Details

Rückgabewert: Gibt den Array-Wert in Form eines formatierten Strings zurück.
PHP-Version: 4.1.0+

Mehr Beispiele

Beispiel 1

Verwenden Sie den Formatwert %f:

<?php
$num1 = 123;
$num2 = 456;
$txt = vsprintf("%f%f",array($num1,$num2));
echo $txt;
?>

Laufende Beispiele

例子 2

使用占位符:

<?php
$number = 123;
$txt = vsprintf("有两位小数:%1\$.2f<br>没有小数:%1\$u",array($number));
echo $txt;
?>

Laufende Beispiele

例子 3

使用 sprintf() 来演示所有可能的格式值:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII 字符 50 是 2
// 注释:格式值 "%%" 返回百分号
echo sprintf("%%b = %b",$num1)."<br>"; // 二进制数
echo sprintf("%%c = %c",$char)."<br>"; // ASCII 字符
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",$num1)."<br>"; // 不带符号的十进制数(正)
echo sprintf("%鑾u",$num2)."<br>"; // 不带符号的十进制数(负)
echo sprintf("%%f = %f",$num1)."<br>"; // 浮点数(视本地设置)
echo sprintf("%%F = %F",$num1)."<br>"; // 浮点数(不视本地设置)
echo sprintf("%%g = %g",$num1)."<br>"; // 短于 %e 和 %f
echo sprintf("%%G = %G",$num1)."<br>"; // 短于 %E 和 %f
echo sprintf("%%o = %o",$num1)."<br>"; // 八进制数
echo sprintf("%%s = %s",$num1)."<br>"; // 字符串
echo sprintf("%%x = %x",$num1)."<br>"; // Hexadezimalzahl (kleingeschrieben)
echo sprintf("%%X = %X",$num1)."<br>"; // Hexadezimalzahl (großgeschrieben)
echo sprintf("%%+d = %+d",$num1)."<br>"; // Symbolkennzeichner (positiv)
echo sprintf("%%+d = %+d",$num2)."<br>"; // Symbolkennzeichner (negativ)
?>

Laufende Beispiele

Beispiel 4

Demonstration der String-Kennzeichner:

<?php
$str1 = "Hello";
$str2 = "Hello world!";
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>";
?>

Laufende Beispiele