Fonction printf() | Développement Web

Fonction printf()

La fonction printf permet d’afficher une chaîne de caractères mise en forme.

Le premier paramètre de cette fonction représente la chaîne de caractères de mise en forme : le format.

Il peut être suivi d’un ou de plusieurs paramètres qui seront les données utilisées lors de l’affichage.

Utilisation de la fonction printf()

La signature de la fonction printf est la suivante :

printf ( $format [ , $parametre1 , $parametre2 ... ] );


   $string = 'fonction printf()';

   printf ("Etude de la %s", $string);

   /* Affiche "Etude de la fonction printf()" */

Ici, la chaîne de caractère "Etude de la %s" correspond au format et précise qu’une chaîne de caractères (%s) sera remplacée à cet endroit.

Dans les séquences de formatage, à part le %s, on retrouve :

  • %% affichera le %
  • %c affichera la valeur ASCII d’un nombre
  • %d affichera un entier
  • %f affichera une valeur décimale à virgule
  • %o affichera une valeur décimale en octal
  • %b affichera une valeur décimale en binaire
  • %x affichera une valeur décimale en héxadécimal (lettres en minuscules)
  • %X affichera une valeur décimale en héxadécimal (lettres en majuscules)

   $site = 'analyste-programmeur.com';
   $info = 'développement web';
   $annee = 2009;
   $taux = 100;

   printf ("%c %d - %s, %f %% pour le %s", 169, $annee, $site, $taux, $info);

   // Affiche " © 2009 - analyste-programmeur.com, 100.000000 % pour le développement web "

Pour que la fonction printf construise correctement la chaîne de caractères, il est important de renseigner les variables dans le même ordre que le format de la chaîne de formatage.

On peut aussi remarquer que le taux (100%) est affiché avec 5 zéros.
Pour afficher un nombre suivant la forme que l’on souhaite, on peut pour cela modifier la séquence de formatage %f. Par exemple, %.2f affichera un nombre flottant avec 2 chiffres après la virgules.


   printf ("%c %d - %s, %.2f %% pour le %s", 169, $annee, $site, $taux, $info);

   // Affiche " © 2009 - analyste-programmeur.com, 100.00% pour le développement web "

  Au besoin, les décimales sont complétées par des 0

La fonction printf permet également de formater un nombre sur une longueur prédéfinie.


   printf ("code : %05d", 22);

   // Affiche "code :  00022 "

Il existe une fonction appelée sprintf qui retournera la chaîne formatée contrairement à printf qui elle, affiche directement le résultat.


   $res = sprintf ("%.2f", 15.5);

   echo ' Prix : ' . $res . '  €' ;

   // Affiche " Prix:  15.50 €"