Maison >développement back-end >tutoriel php >fonction php fprintf() qui formate une chaîne et l'écrit dans le flux de sortie spécifié

fonction php fprintf() qui formate une chaîne et l'écrit dans le flux de sortie spécifié

黄舟
黄舟original
2017-11-02 10:36:491842parcourir

Exemple

Écrivez du texte dans un fichier texte nommé "test.txt" :

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

Le code ci-dessus affichera :

40

Ce qui suit le texte sera écrit dans le fichier "test.txt":

There are 9 million bicycles in Beijing.

Définition et utilisation

la fonction fprintf() convertit la chaîne formatée dans la sortie spécifiée flux (par exemple : fichier ou base de données).

Les paramètres arg1, arg2, ++ seront insérés dans la chaîne principale au niveau du symbole du signe de pourcentage (%). Cette fonction est exécutée étape par étape. Au premier signe %, insérez arg1, au deuxième signe %, arg2, et ainsi de suite.

Remarque : S'il y a plus de symboles % que d'arguments arg, vous devez utiliser des espaces réservés. L'espace réservé est inséré après le symbole % et se compose d'un nombre suivi de "$". Voir l'exemple 2.

Astuce : Fonctions associées : printf(), sprintf(), vprintf(), vsprintf() et vfprintf()

Grammaire Spécifie où les chaînes sont écrites/sorties.  

fprintf(stream,format,arg1,arg2,arg++)
format                                                                                                                                                                               Obligatoire. Spécifie une chaîne et comment formater les variables qu'elle contient.

Valeur de format possible : %% -Renvoyer un pourcentage%

%b -nombre binaire

%C -Caractère de valeur ASCII

                                                                                                                                                                                                                      1.2e+ 2)

                                                                                                            Méthode de comptage scientifique utilisant des majuscules (telles que 1,2e+2)

%u -nombre décimal sans nombres positifs (supérieur ou égal à 0)

%f -flottant numéro de point (paramètres locaux)

%f -numéro à virgule flottante (paramètres non locaux)

%g -shorter%e et%f

%g -shorter% e et%f

                                                                                                                                                                                                                  

                                      %s - 字符串

                                      %x - 十六进制数(小写字母)

                                      %X - 十六进制数(大写字母)

                                     附加的格式值。必需放置在 % 和字母之间(例如 %.2f):

                                     + (在数字前面加上 + 或 - 来定义数字的正负性。默认情况下,只有负数才做标记,正数不做标记)

                                      ' (规定使用什么作为填充,默认是空格。它必须与宽度指定器一起使用。例如:%'x20s(使用 "x" 作为填充))

                                      - (左调整变量值)

                                      [0-9] (规定变量值的最小宽度)

                                      .[0-9] (规定小数位数或最大字符串长度)

注释:如果使用多个上述的格式值,它们必须按照上面的顺序进行使用,不能打乱。

arg1    必需。规定插到 format 字符串中第一个 % 符号处的参数。    

arg2    可选。规定插到 format 字符串中第二个 % 符号处的参数。    

arg++    可选。规定插到 format 字符串中第三、四等等 % 符号处的参数。    

技术细节

返回值:     返回被写字符串的长度。    

PHP 版本:  5+    

更多实例

把一些文件写入到文件中

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

下面的文本将被写入到文件 "test.txt":

123.000000

实例 2

使用占位符:

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

下面的文本将被写入到文件 "test.txt":

With 2 decimals: 123.00
With no decimals: 123

实例 3

使用 printf() 来演示所有可能的格式值:

<?php
$num1 = 123456789;
$num2 = -123456789;
$char = 50; // The ASCII Character 50 is 2

// Note: The format value "%%" returns a percent sign
printf("%%b = %b <br>",$num1); // Binary number
printf("%%c = %c <br>",$char); // The 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 = %u <br>",$num1); // Unsigned decimal number (positive)
printf("%%u = %u <br>",$num2); // Unsigned decimal number (negative)
printf("%%f = %f <br>",$num1); // Floating-point number (local settings aware)
printf("%%F = %F <br>",$num1); // Floating-point number (not local settings aware)
printf("%%g = %g <br>",$num1); // Shorter of %e and %f
printf("%%G = %G <br>",$num1); // Shorter of %E and %f
printf("%%o = %o <br>",$num1); // Octal number
printf("%%s = %s <br>",$num1); // String
printf("%%x = %x <br>",$num1); // Hexadecimal number (lowercase)
printf("%%X = %X <br>",$num1); // Hexadecimal number (uppercase)
printf("%%+d = %+d <br>",$num1); // Sign specifier (positive)
printf("%%+d = %+d <br>",$num2); // Sign specifier (negative)
?>

使用格式值 %f:

<?php 
$number = 123; 
printf("%f",$number); 
?>

字符串说明符的演示:

<?php
$str1 = "Hello";
$str2 = "Hello world!";
 
printf("[%s]<br>",$str1);
printf("[%8s]<br>",$str1);
printf("[%-8s]<br>",$str1);
printf("[%08s]<br>",$str1);
printf("[%&#39;*8s]<br>",$str1);
printf("[%8.8s]<br>",$str2);
?>

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn