Chaîne formatée en sortie :
<?php$number = 9;$str = "Pékin";printf("Il y a %u millions de vélos dans %s.",$number,$str);?>La fonction printf() génère une chaîne formatée.
Les paramètres arg1, arg2, ++ seront insérés dans la chaîne principale au niveau du symbole de pourcentage (%). Cette fonction est exécutée étape par étape. Au premier signe %, insérez arg1, au deuxième signe %, insérez arg2, et ainsi de suite.
Remarque : S'il y a plus de symboles % que de paramètres 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 et de "$". Voir l'exemple 2.
Astuce : Fonctions associées : sprintf(), vprintf(), vsprintf(), fprintf() et vfprintf()
printf( format,arg1,arg2,arg++ )
paramètre | décrire |
---|---|
format | Requis. Spécifie une chaîne et comment formater les variables qu'elle contient. Valeurs de format possibles : %% - renvoie un signe de pourcentage % %b - nombre binaire %c - le caractère correspondant à la valeur ASCII %d - Nombre décimal avec signe (négatif, 0, positif) %e - Utiliser la notation scientifique en minuscules (par exemple 1.2e+2) %E - Utiliser la notation scientifique en majuscules (par exemple 1.2E+2) %u - Nombre décimal sans signe (supérieur ou égal à 0) %f - nombre à virgule flottante (paramètre local) %F - nombre à virgule flottante (paramètre non natif) %g - la version plus courte de %e et %f %G - %E et %f plus courts %o - nombre octal %s - chaîne %x - Nombre hexadécimal (lettres minuscules) %X - nombre hexadécimal (lettres majuscules) Valeurs de format supplémentaires. Doit être placé entre % et une lettre (par exemple %.2f) : + (Ajoutez + ou - devant un nombre pour définir le signe du nombre. Par défaut, seuls les nombres négatifs sont marqués, et les nombres positifs ne sont pas marqués) ' (Spécifie ce qu'il faut utiliser comme remplissage, par défaut des espaces. Il doit être utilisé avec un spécificateur de largeur. Par exemple : %'x20s (utilisez "x" comme remplissage)) - (valeur variable de réglage gauche) [0-9] (spécifie la largeur minimale de la valeur de la variable) .[0-9] (spécifie le nombre de décimales ou la longueur maximale de la chaîne) Remarque : Si plusieurs valeurs de format ci-dessus sont utilisées, elles doivent être utilisées dans l'ordre ci-dessus et ne peuvent pas être perturbées. |
arg1 | Requis. Spécifie les paramètres à insérer au premier signe % dans la chaîne de format. |
arg2 | Facultatif. Spécifie les paramètres à insérer dans la chaîne de format au deuxième signe %. |
argument++ | Facultatif. Spécifie les paramètres à insérer dans la chaîne de format au niveau des troisième, quatrième, etc. symboles %. |
Valeur de retour : | Renvoie la longueur de la chaîne de sortie. |
---|---|
Version PHP : | 4+ |
Utilisez la valeur de format %f :
<?php$number = 123;printf("%f",$number);?>Utilisez des espaces réservés :
<?php$number = 123;printf("Avec 2 décimales : %1$.2f<br>Sans décimales : %1$u",$number);?>Démonstration de toutes les valeurs de format possibles :
<?php$num1 = 123456789;$num2 = -123456789;$char = 50; // Le caractère ASCII 50 est 2// Remarque : La valeur de format "%%" renvoie un pourcentage signprintf("%%b = %b <br>",$num1); // Numberprintf("%%c = %c <br>",$char); // L'ASCII Characterprintf("%%d = %d <br>",$num1); // Nombre décimal signéprintf("%%d = %d <br>",$num2); = %e <br>",$num1); // Notation scientifique (minuscules)printf("%%E = %E <br>",$num1); // Notation scientifique (majuscule)printf("%%u = %u <br>",$num1); // Nombre décimal non signé (positif)printf("%%u = %u <br>",$num2); nombre décimal (négatif)printf("%%f = %f <br>",$num1); // Nombre à virgule flottante (compatible avec les paramètres locaux)printf("%%F = %F) <br>",$num1); // Nombre à virgule flottante (non compatible avec les paramètres locaux)printf("%%g = %g <br>",$num1); // Plus court de %e et %fprintf(" %%G = %G <br>",$num1); // Plus court de %E et %fprintf("%%o = %o <br>",$num1); // Nombre octalprintf("%%s = %s <br>",$num1); // Stringprintf("%%x = %x <br>",$num1); // Nombre hexadécimal (minuscules)printf("%%X = %X <br >",$num1); // Nombre hexadécimal (majuscule)printf("%%+d = %+d <br>",$num1); // Spécificateur de signe (positif)printf("%%+d = %+d <br>",$num2); // Spécificateur de signe (négatif) ?>Démonstration des spécificateurs de chaînes :
<?php$str1 = "Bonjour";$str2 = "Bonjour tout le monde !";printf("[%s]<br>",$str1);printf("[%8s]<br>",$str1) ;printf("[%-8s]<br>",$str1);printf("[%08s]<br>",$str1); printf("[%'*8s]<br>",$str1);printf("[%8.8s]<br>",$str2);?>