Schreiben Sie Text in eine Textdatei mit dem Namen „test.txt“:
<?php$number = 9;$str = "Peking";$file = fopen("test.txt","w");echo vfprintf($file,"Es gibt %u Millionen Fahrräder in %s.", array($number,$str));?>Der obige Code gibt Folgendes aus:
40Der folgende Text wird in die Datei „test.txt“ geschrieben:
In Peking gibt es 9 Millionen Fahrräder.Die Funktion vfprintf() schreibt eine formatierte Zeichenfolge in den angegebenen Ausgabestream (z. B. Datei oder Datenbank).
Im Gegensatz zu fprintf() liegen die Parameter in vfprintf() in einem Array. Array-Elemente werden am Prozentzeichen (%) in die 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 wird das zweite Array-Element eingefügt und so weiter.
Hinweis: Wenn mehr %-Symbole als arg-Parameter vorhanden sind, müssen Sie Platzhalter verwenden. Der Platzhalter wird nach dem %-Symbol eingefügt und besteht aus einer Zahl und „$“. Siehe Beispiel 2.
Tipp: Verwandte Funktionen: fprintf(), printf(), sprintf(), vprintf() und vsprintf()
vfprintf( Stream, Format, Argarray )
Parameter | beschreiben |
---|---|
Strom | Erforderlich. Gibt an, wo Zeichenfolgen geschrieben/ausgegeben werden. |
Format | Erforderlich. Gibt eine Zeichenfolge und die Formatierung der darin enthaltenen Variablen an. Mögliche Formatwerte: %% – gibt ein Prozentzeichen % zurück %b – Binärzahl %c – das Zeichen, das dem ASCII-Wert entspricht %d – Dezimalzahl mit Vorzeichen (negativ, 0, positiv) %e – Verwenden Sie die wissenschaftliche Schreibweise in Kleinbuchstaben (z. B. 1.2e+2) %E – Verwenden Sie die wissenschaftliche Großschreibung (z. B. 1.2E+2) %u – Dezimalzahl ohne Vorzeichen (größer oder gleich 0) %f – Gleitkommazahl (lokale Einstellung) %F – Gleitkommazahl (nicht native Einstellung) %g – die kürzere Version von %e und %f %G – kürzeres %E und %f %o – Oktalzahl %s – Zeichenfolge %x – Hexadezimale Zahl (Kleinbuchstaben) %X – Hexadezimalzahl (Großbuchstaben) Zusätzliche Formatwerte. Muss zwischen % und einem Buchstaben stehen (z. B. %.2f): + (Fügen Sie + oder - vor einer Zahl hinzu, um das Vorzeichen der Zahl zu definieren. Standardmäßig werden nur negative Zahlen markiert, positive Zahlen werden nicht markiert.) ' (Gibt an, was als Auffüllung verwendet werden soll, standardmäßig Leerzeichen. Es muss mit einem Breitenbezeichner verwendet werden. Beispiel: %'x20s (verwenden Sie „x“ als Auffüllung)) - (Wert der linken Anpassungsvariable) [0-9] (gibt die Mindestbreite des Variablenwerts an) .[0-9] (gibt die Anzahl der Dezimalstellen oder die maximale Stringlänge an) Hinweis: Wenn mehrere der oben genannten Formatwerte verwendet werden, müssen diese in der oben genannten Reihenfolge verwendet werden und dürfen nicht unterbrochen werden. |
Argarray | Erforderlich. Ein Array mit Parametern, die an %-Symbolen in die Formatzeichenfolge eingefügt werden. |
Rückgabewert: | Gibt die Länge der geschriebenen Zeichenfolge zurück. |
---|---|
PHP-Version: | 5+ |
Schreiben Sie einen 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.000000Platzhalter verwenden:
<?php$number = 123;$file = fopen("test.txt","w");vfprintf($file,"Mit 2 Dezimalstellen: %1$.2fnOhne Dezimalstellen: %1$u",array( $number));?>Der folgende Text wird in die Datei „test.txt“ geschrieben:
Mit 2 Dezimalstellen: 123,00 Ohne Dezimalstellen: 123Verwenden 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ückprintf(“%%b = %b <br>",$num1); // Binärzahlprintf("%%c = %c <br>",$char); // Das ASCII Characterprintf("%%d = %d <br>",$num1); // Vorzeichenbehaftete Dezimalzahlprintf("%%d = %d <br>",$num2); // Vorzeichenbehaftete Dezimalzahlprintf("%%e = %e <br>",$num1); // Wissenschaftliche Notation (Kleinbuchstaben)printf("%%E = %E <br>",$num1); // Wissenschaftliche Notation (uppercase)printf("%%u = %u <br>",$num1); // Vorzeichenlose Dezimalzahl (positiv)printf("%%u = %u <br>",$num2); Dezimalzahl (negativ)printf("%%f = %f <br>",$num1); // Gleitkommazahl (lokale Einstellungen berücksichtigen)printf("%%F = %F <br>",$num1); // Gleitkommazahl (lokale Einstellungen nicht berücksichtigen)printf("%%g = %g <br>",$num1); // Kürzer von %e und %fprintf(" %%G = %G <br>",$num1); // Kürzer von %E und %fprintf("%%o = %o <br>",$num1); // Oktalzahlprintf("%%s = %s <br>",$num1); // Stringprintf("%%x = %x <br>",$num1); // Hexadezimale Zahl (Kleinbuchstaben)printf("%%X = %X <br >",$num1); // Hexadezimale Zahl (Großbuchstaben)printf("%%+d = %+d <br>",$num1); // Vorzeichenbezeichner (positiv)printf("%%+d = %+d <br>",$num2); // Vorzeichenspezifizierer (negativ)?>