PHP vfprintf() Funktion

Beispiel

Schreiben Sie den Text in die Textdatei "test.txt":

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

Das obige Code wird ausgeben:

40

Der folgende Text wird in die Datei "test.txt" geschrieben:

Es gibt 9 Millionen Fahrräder in Peking.

Definition und Verwendung

Die vfprintf() Funktion schreibt formatierte Zeichenfolgen in den angegebenen Ausgabestrom (z.B. Datei oder Datenbank).

Im Gegensatz zu fprintf() sind die Parameter in vfprintf() in einem Array positioniert. Die Array-Elemente werden in den Hauptstring eingefügt, an der Stelle des Prozentsatzzeichens (%) symbol. Diese Funktion wird schrittweise ausgeführt. Am ersten % Zeichen wird das erste Array-Element eingefügt, am zweiten % Zeichen wird das zweite Array-Element eingefügt und so weiter.

Anmerkung:Wenn % Symbole mehr sind arg Falls Parameter angegeben sind, müssen Sie Platzhalter verwenden. Platzhalter werden nach dem % Zeichen, durch eine Zahl und "\$"组成。Siehe Beispiel 2.

Verwandte Funktionen:

Syntax

vfprintf(stream,format,argarray)
Parameter Beschreibung
stream Erforderlich. Bestimmt, wo die Zeichenkette geschrieben/ausgegeben wird.
format

Erforderlich. Bestimmt die Zeichenkette und wie Variablen formatiert werden.

Mögliche Formatwerte:

  • %% - Gibt einen Prozentsatz (%) zurück
  • %b - Binärzahl
  • %c - ASCII Wert des correspondingen Zeichens
  • %d - Dezimalzahl mit Vorzeichen (Negativ, 0, Positiv)
  • %e - Klein geschriebene wissenschaftliche Notation (z.B. 1.2e+2)
  • %E - Groß geschriebene wissenschaftliche Notation (z.B. 1.2E+2)
  • 蒝ezimalzahl ohne Vorzeichen (größer gleich 0)
  • %f - Fließendekommazahl (lokalen Einstellung)
  • %F - Fließendekommazahl (nicht lokaler Einstellung)
  • %g - Kürzere %e und %f
  • %G - Kürzere %E und %f
  • %o - Okta Dezimalzahl
  • %s - Zeichenkette
  • %x - Hexadezimalzahl (Kleinschreibung)
  • %X - Hexadezimalzahl (Großbuchstaben)

Zusätzliche Formatierungsvalues. Erforderlich zu platzieren zwischen % und einem Buchstaben (z.B. %.2f):

  • + (Durch das Hinzufügen von + oder - vor einer Zahl wird deren Vorzeichen definiert. Standardmäßig werden nur Negative zugeordnet, Positive nicht markiert.)
  • ' (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)

Anmerkung:Wenn mehrere Formatwerte verwendet werden, müssen sie in der oben genannten Reihenfolge sein.

argarray Erforderlich. Ein Array mit Parametern, die in die format Am Zeichen %% in der Zeichenkette.

Technische Details

Rückgabewert: Gibt die Länge der geschriebenen Zeichenkette zurück.
PHP-Version: 5+

Mehr Beispiele

Beispiel 1

Schreiben Sie den Text in die Datei:

<?php
$num1 = 123;
$num2 = 456;
$file = fopen("test.txt", "w");
vfprintf($file, "%f%f", array($num1, $num2));
?>

Der folgende Text wird in die Datei "test.txt" geschrieben:

123.000000456.000000

Beispiel 2

Verwenden Sie Platzhalter:

<?php
$number = 123;
$file = fopen("test.txt", "w");
vfprintf($file, "Mit 2 Dezimalstellen: %1$.2f
\nOhne Dezimalstellen: %1$u", array($number));
?>

Der folgende Text wird in die Datei "test.txt" geschrieben:

Mit 2 Dezimalstellen: 123.00
Ohne Dezimalstellen: 123

Beispiel 3

Verwenden Sie printf() zur Demonstration aller möglichen Formatwerte:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII-Zeichen 50 ist 2
// Anmerkung: Der Formatwert "%%" gibt den Prozentsatzzeichen zurück
printf("%%b = %%b <br>", $num1); // Binärzahl
printf("%%c = %%c <br>", $char); // ASCII-Zeichen
printf("%%d = %%d <br>", $num1); // mit Vorzeichen dezimale Zahl
printf("%%d = %%d <br>", $num2); // mit Vorzeichen dezimale Zahl
printf("%%e = %%e <br>", $num1); // wissenschaftliche Notation (Kleinschreibung)
printf("%%E = %%E <br>", $num1); // wissenschaftliche Notation (Großbuchstaben)
printf("%鑾u <br>", $num1); // Unsignéer Dezimalzahl (positiv)
printf("%鑾u <br>", $num2); // Unsignéer Dezimalzahl (negativ)
printf("%%f = %f <br>", $num1); // Fließkommazahl (mit Berücksichtigung der lokalen Einstellungen)
printf("%%F = %F <br>", $num1); // Fließkommazahl (ohne Berücksichtigung der lokalen Einstellungen)
printf("%%g = %g <br>", $num1); // Kurzer als %e und %f
printf("%%G = %G <br>", $num1); // Kurzer als %E und %f
printf("%%o = %o <br>", $num1); // Oktalzahl
printf("%%s = %s <br>", $num1); // Zeichenkette
printf("%%x = %x <br>", $num1); // Kleingeschriebene Hexadezimalzahl
printf("%%X = %X <br>", $num1); // Großgeschriebene Hexadezimalzahl
printf("%%+d = %+d <br>", $num1); // Positive Symbolangabe
printf("%%+d = %+d <br>", $num2); // Negative Symbolangabe
?>

Laufende Beispiele