Funzione fprintf() di PHP

Esempio

Scrivi il testo nel file di testo chiamato "test.txt":

<?php
$number = 9;
$str = "Beijing";
$file = fopen("test.txt", "w");
echo fprintf($file,"Ci sono 쥕ioni di biciclette in %s.",$number,$str);
?>

Output del codice sopra:

40

Il seguente testo viene scritto nel file "test.txt":

Ci sono 9 milioni di biciclette a Pechino.

Definizione e uso

La funzione fprintf() scrive la stringa formattata nell'output stream specificato (ad esempio: file o database).

arg1,arg2,arg++ I parametri vengono inseriti nel simbolo % del stringa principale. La funzione è eseguita gradualmente. Al primo simbolo %, inserisci arg1, inserisci arg2, così via.

Comment:Se ci sono più simboli % arg Se ci sono più parametri, è necessario utilizzare i segnaposto. I segnaposto vengono inseriti dopo il simbolo %, composto da un numero e "\$". Vedi esempio 2.

Funzioni correlate:

Sintassi

fprintf(stream,format,arg1,arg2,arg++)
Parametro Descrizione
stream Obbligatorio. Stabilisce dove scrivere/uscire la stringa.
format

Obbligatorio. Stabilisce la stringa e come formattare le variabili al suo interno.

Valori di formato possibili:

  • %% - Restituisce un percento %
  • %b - Numero binario
  • %c - Carattere corrispondente al valore ASCII
  • %d - Numero decimale con segno (numero negativo, 0, numero positivo)
  • %e - Utilizza la notazione scientifica in minuscolo (ad esempio 1.2e+2)
  • %E - Utilizza la notazione scientifica in maiuscolo (ad esempio 1.2E+2)
  • 蒧umero decimale senza segno (uguale o maggiore di 0)
  • %f - Numero a virgola mobile (configurazione locale)
  • %F - Numero a virgola mobile (non configurazione locale)
  • %g - Più corto di %e e %f
  • %G - Più corto di %E e %f
  • %o - Numero ottale
  • %s - Stringa
  • %x - Numero esadecimale (lettere minuscole)
  • %X - Numero esadecimale (lettere maiuscole)

Valore di formato aggiuntivo. Deve essere posizionato tra % e una lettera (ad esempio %.2f):

  • + (add + or - in front of the number to define the sign of the number)
    By default, only negative numbers are marked, not positive numbers.
  • " (specifies what to use as padding, default is space. It must be used with the width specifier)
    For example: %%'x20s (using "x" as the padding)
  • - (left-adjust the variable value)
  • .[0-9] (specifies the minimum width of the variable value)
  • .[0-9] (specifies the number of decimal places or maximum string length)

Comment:If multiple additional format values are used, they must be used in the order specified above.

arg1 Required. Specifies the insertion into format The parameter at the first %% symbol in the string.
arg2 Optional. Specifies the insertion into format The parameter at the second %% symbol in the string.
arg++ Optional. Specifies the insertion into format The parameters at the third, fourth, etc. %% symbols in the string.

Technical details

Return value: Returns the length of the written string.
PHP version: 5+

More examples

Example 1

Write text to file:

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

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

123.000000

Example 2

Use placeholders:

<?php
$number = 123;
$file = fopen("test.txt", "w");
fprintf($file, "Two decimal places: %%f", $number);
\nNo decimal: %1$u", $number);
?>

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

Two decimal places: 123.00
No decimal: 123

Example 3

Use printf() to demonstrate all possible format values:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // ASCII character 50 is 2
// Comment: The format value "%%" returns a percent sign
printf("%%b = %%b <br>", $num1); // Binary number
printf("%%c = %%c <br>", $char); // ASCII character
printf("%%d = %%d <br>", $num1); // Signed decimal number
printf("%%d = %%d <br>", $num2); // Signed decimal number
printf("%%e = %%e <br>", $num1); // Scientific notation (lowercase)
printf("%%E = %%E <br>", $num1); // Scientific notation (uppercase)
printf("%鑾u <br>",$num1); // Numero decimale senza segno (positivo)
printf("%鑾u <br>",$num2); // Numero decimale senza segno (negativo)
printf("%%f = %f <br>",$num1); // Numero a virgola mobile (considera la configurazione locale)
printf("%%F = %F <br>",$num1); // Numero a virgola mobile (non considera la configurazione locale)
printf("%%g = %g <br>",$num1); // Più breve di %e e %f
printf("%%G = %G <br>",$num1); // Più breve di %E e %f
printf("%%o = %o <br>",$num1); // Numero ottale
printf("%%s = %s <br>",$num1); // Stringa
printf("%%x = %x <br>",$num1); // Numero esadecimale (minuscolo)
printf("%%X = %X <br>",$num1); // Numero esadecimale (maiuscolo)
printf("%%+d = %+d <br>",$num1); // Simbolo di segno positivo
printf("%%+d = %+d <br>",$num2); // Spiegazione del simbolo negativo
?>

Esempio di esecuzione