PHP vfprintf() 函数

PHP vfprintf() funzione

Esempio

<?php
Scrivi il testo nel file di testo chiamato "test.txt":
$number = 9;
$file = fopen("test.txt", "w");
$str = "Beijing";
?>

echo vfprintf($file,"Ci sono 쥕ioni di biciclette in %s.",array($number,$str));

Il codice sopra esporterà:

40

Il seguente testo sarà scritto nel file "test.txt":

Ci sono 9 milioni di biciclette a Pechino.

Definizione e uso

La funzione vfprintf() scrive la stringa formattata su uno stream di output specificato (ad esempio: file o database).

Comment:A differenza di fprintf(), i parametri in vfprintf() sono posizionati in un array. Gli elementi dell'array vengono inseriti nei segni di percento (%) della stringa principale. La funzione è eseguita gradualmente. Al primo segno di percento, viene inserito il primo elemento dell'array, al secondo segno di percento, viene inserito il secondo elemento dell'array, ecc. arg Se ci sono più parametri, devi utilizzare i segnaposto. I segnaposto vengono inseriti dopo il simbolo %, composti da un numero e "\$". Vedi esempio 2.

Funzioni correlate:

Sintassi

vfprintf(stream,format,argarray)
Parametro Descrizione
stream Obbligatorio. Specifica dove scrivere/uscire la stringa.
format

Obbligatorio. Specifica la stringa e come formattare le variabili all'interno di essa.

Valori di formattazione possibili:

  • %% - Restituisce un percento %
  • %b - Numero binario
  • %c - Carattere corrispondente al valore ASCII
  • %d - Numero decimale con segno (numero negativo, 0, numero positivo)
  • %e - Usa la notazione esponenziale in minuscolo (ad esempio 1.2e+2)
  • %E - Usa la notazione esponenziale 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 in configurazione locale)
  • %g - Più breve di %e e %f
  • %G - Più breve di %E e %f
  • %o - Numero ottale
  • %s - Stringa
  • %x - Numero esadecimale (lettere minuscole)
  • %X - Numero esadecimale (lettere maiuscole)

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

  • + (Aggiungi + o - davanti al numero per definire il suo segno positivo o negativo. Di default, solo i numeri negativi sono marcati, i numeri positivi non vengono marcati)
  • ' (specifies what to use as padding, the default is space. It must be used with the width specifier. For example: '%x20s' (using 'x' as padding))
  • - (left-justifies 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 format values are used, they must be in the order above.

argarray Required. An array with parameters, which will be inserted format At the place of the % symbol in the string.

Technical details

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

More examples

Example 1

Write text to the file:

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

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

123.000000456.000000

Example 2

Use placeholders:

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

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

With 2 decimals: 123.00
With no decimals: 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 the 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 (considerando la configurazione locale)
printf("%%F = %F <br>",$num1); // Numero a virgola mobile (non considerando la configurazione locale)
printf("%%g = %g <br>",$num1); // Più corto di %e e %f
printf("%%G = %G <br>",$num1); // Più corto di %E e %f
printf("%%o = %o <br>",$num1); // Numero ottale
printf("%%s = %s <br>",$num1); // Stringa
printf("%%x = %x <br>",$num1); // Numero esadecimale (in minuscolo)
printf("%%X = %X <br>",$num1); // Numero esadecimale (in maiuscolo)
printf("%%+d = %+d <br>",$num1); // Simbolo di indicazione positivo
printf("%%+d = %+d <br>",$num2); // Spiegazione del simbolo negativo
?>

Esempio di esecuzione