PHP fprintf() function

Example

Write text to the text file named "test.txt":

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

Output of the above code:

40

The following text will be written to the file "test.txt":

There are 9 million bicycles in Beijing.

Definition and usage

The fprintf() function writes a formatted string to the specified output stream (e.g., file or database).

arg1,arg2,arg++ Parameters will be inserted into the percentage sign (%) at the main string. The function is executed step by step. Insert arg1, insert arg2, and so on.

Anmerkung:If there are more % signs than arg If you have parameters, you must use placeholders. Placeholders are inserted after the % sign and consist of numbers and "\$". See example 2.

Related functions:

Syntax

fprintf(stream,format,arg1,arg2,arg++)
Parameters Description
stream Required. Specifies where to write/output the string:
format

Required. Specifies the string and how to format the variables within it:

Possible format values:

  • %% - Returns a percentage sign %:
  • %b - Binary number:
  • %c - Character corresponding to ASCII value:
  • %d - Decimal number with sign (negative, 0, positive):
  • %e - Scientific notation using lowercase letters (e.g. 1.2e+2):
  • %E - Scientific notation using uppercase letters (e.g. 1.2E+2):
  • 蒝ecimal number without sign (greater than or equal to 0):
  • %f - Floating-point number (local settings):
  • %F - Floating-point number (non-local settings):
  • %g - Shorter than %e and %f:
  • %G - Shorter than %E and %f:
  • %o - Octal number:
  • %s - String:
  • %x - Hexadecimal number (lowercase letters):
  • %X - Hexadecimal number (uppercase letters):

Additional format values. Must be placed between % and a letter (e.g. %.2f):

  • + (Fügt vor die Zahl + oder -, um die Vorzeichen der Zahl zu definieren)
    Standardmäßig werden nur Negative markiert, Positive nicht.
  • ' (Bestimmt, was als Füllzeichen verwendet wird, Standard ist Leerzeichen. Es muss mit dem Breiten specifier verwendet werden.
    Beispiel: %%'x20s (Verwenden Sie "x" als Füllzeichen)
  • - (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 zusätzliche Formatwerte verwendet werden, müssen diese in der obigen Reihenfolge verwendet werden.

arg1 Erforderlich. Bestimmt, was in format Das erste %%-Zeichen im String.
arg2 Optional. Bestimmt, was in format Das zweite %%-Zeichen im String.
arg++ Optional. Bestimmt, was in format Die Parameter an den dritten, vierten usw. %%-Zeichen im String.

Technische Details

Rückgabewert: Gibt die Länge des zu schreibenden Strings zurück.
PHP-Version: 5+

Mehr Beispiele

Beispiel 1

Schreiben Sie den Text in die Datei:

<?php
$number = 123;
$file = fopen("test.txt","w");
fprintf($file,"%%f",$number);
?>

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

123.000000

Beispiel 2

Verwenden Sie Platzhalter:

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

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

Mit zwei 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 Prozentsatz zurück
printf("%%b = %%b <br>",$num1); // Binärzahl
printf("%%c = %%c <br>",$char); // ASCII-Zeichen
printf("%%d = %%d <br>",$num1); // Signs bezogener Dezimalzahl
printf("%%d = %%d <br>",$num2); // Signs bezogener Dezimalzahl
printf("%%e = %%e <br>",$num1); // Wissenschaftliche Notation (Kleinschreibung)
printf("%%E = %%E <br>",$num1); // Wissenschaftliche Notation (Großbuchstaben)
printf("%鑾u <br>", $num1); // Unsichtbare Dezimalzahl (positiv)
printf("%鑾u <br>", $num2); // Unsichtbare 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); // Hexadezimalzahl (klein)
printf("%%X = %X <br>", $num1); // Hexadezimalzahl (groß)
printf("%%+d = %+d <br>", $num1); // Symbolbeschreibung (positiv)
printf("%%+d = %+d <br>", $num2); // Symbolbeschreibung (negativ)
?>

Laufende Beispiele