PHP vfprintf()Funktion

PHP String 参考手册PHP-String-Referenzhandbuch

Beispiele

Schreiben Sie einen Text in eine Textdatei mit dem Namen "test.txt":

<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt","w");
echo vfprintf($file,"There are %u million bicycles in %s.",array($number,$str));
?>

Der obige Code gibt Folgendes aus:

40

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

In Beijing gibt es 9 Millionen Fahrräder.


Definition und Verwendung

Die Funktion vfprintf() schreibt eine formatierte Zeichenfolge in den angegebenen Ausgabestream (z. B. Datei oder Datenbank).

Im Gegensatz zu fprintf() werden die Argumente in vfprintf() in einem Array platziert. Die Array-Elemente werden an den Prozentzeichen (%) in der Hauptzeichenfolge eingefügt. Diese Funktion wird Schritt für Schritt ausgeführt. Beim ersten %-Zeichen wird das erste Array-Element eingefügt, beim zweiten %-Zeichen das zweite Array-Element und so weiter.

Hinweis:Wenn es mehr %-Zeichen als arg-Argumente gibt, müssen Sie Platzhalter verwenden. Der Platzhalter wird nach dem %-Zeichen eingefügt und besteht aus einer Zahl und "\$". Siehe Beispiel 2.

Tipp:Verwandte Funktionen:fprintf()、 printf()、 sprintf()、vprintf()undvsprintf()


Syntax

vfprintf(stream,format,argarray)

Parameter Beschreibung
stream Erforderlich. Gibt an, wohin die Zeichenfolge geschrieben/ausgegeben wird.
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 (locale-abhängig)
  • %F - Gleitkommazahl (nicht locale-abhängig)
  • %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 dem % und dem Buchstaben platziert werden (z. B. %.2f):

  • + (Stellt einer Zahl + oder - voran, um ihr Vorzeichen zu definieren. Standardmäßig werden nur negative Zahlen gekennzeichnet, positive Zahlen nicht)
  • ' (Gibt an, was als Auffüllung verwendet werden soll, Standard ist ein Leerzeichen. Es muss zusammen mit dem Breitenbezeichner verwendet werden. Zum Beispiel: %'x20s (wobei "x" als Auffüllung verwendet wird))
  • - (Richtet den Variablenwert links aus)
  • [0-9] (Gibt die Mindestbreite des Variablenwerts an)
  • .[0-9] (Gibt die Anzahl der Dezimalstellen oder die maximale Zeichenkettenlänge an)

Hinweis:Wenn mehrere der oben genannten Formatwerte verwendet werden, müssen sie in der oben gezeigten Reihenfolge verwendet werden und dürfen nicht neu angeordnet werden.

argarray Erforderlich. Ein Array mit Argumenten, die an den %-Zeichen in der Formatzeichenfolge eingefügt werden.

Technische Details

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


Weitere Beispiele

Beispiel 1

Schreiben Sie etwas Text in eine 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

Verwendung von Platzhaltern:

<?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(), um alle möglichen Formatwerte zu demonstrieren:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // Das ASCII-Zeichen 50 ist 2

// Hinweis: Der Formatwert "%%" gibt ein Prozentzeichen zurück
printf("%%b = %b <br>",$num1); // Binärzahl
printf("%%c = %c <br>",$char); // Das ASCII-Zeichen
printf("%%d = %d <br>",$num1); // Dezimalzahl mit Vorzeichen
printf("%%d = %d <br>",$num2); // Dezimalzahl mit Vorzeichen
printf("%%e = %e <br>",$num1); // Wissenschaftliche Notation (Kleinbuchstaben)
printf("%%E = %E <br>",$num1); // Wissenschaftliche Notation (Großbuchstaben)
printf("%%u = %u <br>",$num1); // Vorzeichenlose Dezimalzahl (positiv)
printf("%%u = %u <br>",$num2); // Vorzeichenlose Dezimalzahl (negativ)
printf("%%f = %f <br>",$num1); // Gleitkommazahl (abhängig von lokalen Einstellungen)
printf("%%F = %F <br>",$num1); // Gleitkommazahl (nicht abhängig von lokalen Einstellungen)
printf("%%g = %g <br>",$num1); // Kürzere von %e und %f
printf("%%G = %G <br>",$num1); // Kürzere von %E und %f
printf("%%o = %o <br>",$num1); // Oktalzahl
printf("%%s = %s <br>",$num1); // Zeichenkette
printf("%%x = %x <br>",$num1); // Hexadezimale Zahl (Kleinbuchstaben)
printf("%%X = %X <br>",$num1); // Hexadezimale Zahl (Großbuchstaben)
printf("%%+d = %+d <br>",$num1); // Vorzeichen-Spezifizierer (positiv)
printf("%%+d = %+d <br>",$num2); // Vorzeichen-Spezifizierer (negativ)
?>

Beispiel ausführen »


PHP String 参考手册PHP-String-Referenzhandbuch Andere Erweiterungen