Rechercher une fonction PHP

sprintf

(PHP 3, PHP 4, PHP 5)

sprintf -- Retourne une chaîne formatée

Description

string sprintf ( string format [, mixed args [, mixed ...]] )

sprintf retourne une chaîne formatée, avec le format format, en utilisant les arguments args.

La chaîne de format est composée de zéro, une ou plusieurs directives : les caractères ordinaires (à l'exception de %) qui sont copiés directement dans le résultat, et des spécifications de conversion, qui exploitent chacune un des arguments passés après la chaîne de format. Ces formats s'appliquent à sprintf() et printf().

Chaque spécification de conversion est constituée d'un signe de pourcentage (%), suivi d'un ou plusieurs des éléments suivants, dans cet ordre :

  1. Un spécificateur d'espacement optionnel qui dit quel spécificateur doit être utilisé pour espacer les résultats à la bonne taille de la chaîne. Cela peut être un caractère espace ou 0 (caractère zéro). Par défaut, l'espacement est effectué avec le caractère espace. Un caractère d'espacement alternatif peut être spécifié en le préfixant avec un guillemet simple ('). Voir les exemples ci-dessous.

  2. Un remplisseur optionnel qui indique quel caractère sera utilisé pour compléter le résultat jusqu'à la longueur requise. Ce peut être le caractère d'espace, ou le caractère 0. Par défaut, le remplissage se fait avec des espaces. Un autre caractère de remplissage peut être spécifié en le préfixant avec un guillemet simple (') : voir les exemples ci-dessous.

  3. Un spécificateur d'alignement qui indique si le résultat doit être aligné à gauche ou à droite. Par défaut, le résultat est aligné à gauche. Le caractère - fera que le résultat sera aligné à droite.

  4. Un nombre optionnel, spécificateur de taille indique le nombre minimum de caractères que cette conversion doit fournir en résultat.

  5. Un spécificateur de précision qui indique le nombre de décimales qui doivent être affichées pour les nombres à virgule flottante. Lorsque vous utilisez ce spécificateur dans une chaîne, il agit comme un point de coupure, définissant une limite maximale de caractères de la chaîne.

  6. Un spécificateur de type qui indique le type avec lequel l'argument sera traité. Plusieurs types possibles :

    % : un caractère de pourcentage littéral. Aucun argument n'est nécessaire.
    b : l'argument est traité comme un entier, et présenté comme un nombre binaire.
    c : l'argument est traité comme un entier, et présenté comme le caractère de code ASCII correspondant.
    d : l'argument est traité comme un entier, et présenté comme un nombre décimal signé.
    e : l'argument est traité comme une notation scientifique (e.g. 1.2e+2).
    u : l'argument est traité comme un entier, et présenté comme un nombre décimal non signé.
    f : l'argument est traité comme un nombre à virgule flottante (type float), et présenté comme un nombre à virgule flottante (tenant compte de la locale utilisée).
    F : l'argument est traité comme un nombre à virgule flottante (type float), et présenté comme un nombre à virgule flottante (ne tenant pas compte de la locale utilisée). Disponible depuis PHP 4.3.10 et PHP 5.0.3.
    o : l'argument est traité comme un entier, et présenté comme un nombre octal.
    s : l'argument est traité et présenté comme une chaîne de caractères.
    x : l'argument est traité comme un entier, et présenté comme un nombre hexadécimal (les lettres en minuscules).
    X : l'argument est traité comme un entier, et présenté comme un nombre hexadécimal (les lettres en majuscules).

Depuis PHP 4.0.6, la chaîne de format supporte le numérotage et l'échange d'arguments. Par exemple :

Exemple 1. Echange d'arguments

<?php
$format
= 'Il y a %d singes dans le %s';
printf($format, $num, $location);
?>
Ainsi, cet exemple peut afficher : "Il y a 5 singes dans le bananier". Mais imaginez que la chaîne de format soit créée dans un script séparé, comme une bibliothèque : cela arrive lorsqu'il faut internationaliser une application. Suivant la langue, il faudra peut-être écrire :

Exemple 2. Echange d'arguments (2)

<?php
$format
= 'Le %s a %d singes';
printf($format, $num, $location);
?>
Ici, nous voyons bien le problème. L'ordre des arguments a été changé, et ne correspond plus à l'ordre des arguments dans le script PHP. Nous souhaitons laisser le code PHP intact, mais simplement indiquer dans la chaîne de formatage l'ordre dans lequel les arguments doivent être utilisés. La chaîne de format peut être réécrite ainsi :

Exemple 3. Echange d'arguments (3)

<?php
$format
= 'Le %2\$s a %1\$d singes';
printf($format, $num, $location);
?>
Un des avantages est que vous pouvez désormais exploiter plusieurs fois les arguments sans les répéter. Ainsi :

Exemple 4. Echange d'arguments (4)

<?php
$format
= 'Le %2\$s a %1\$d singes.
           C'
est un beau %2$s, avec %1$d singes.';
printf($format, $num, $location);
?>

Voir aussi printf(), sscanf(), fscanf(), vsprintf() et number_format().

Exemples

Exemple 5. sprintf() : exemples divers

<?php
$n
43951789;
$u = -43951789;
$c = 65; // ASCII 65 est un 'A'

// notez le double %%, cela affiche un caractère '%' littéral
printf("%%b = '%b'\n", $n); // représentation binaire
printf("%%c = '%c'\n", $c); // affiche le caractère ascii, comme la fonction chr()
printf("%%d = '%d'\n", $n); // représentation standard d'un entier
printf("%%e = '%e'\n", $n); // notation scientifique
printf("%%u = '%u'\n", $n); // représentation entière non signée d'un entier positif
printf("%%u = '%u'\n", $u); // représentation entière non signée d'un entier négatif
printf("%%f = '%f'\n", $n); // représentation en virgule flottante
printf("%%o = '%o'\n", $n); // représentation octale
printf("%%s = '%s'\n", $n); // représentation chaîne de caractères
printf("%%x = '%x'\n", $n); // représentation hexadécimal (minuscule)
printf("%%X = '%X'\n", $n); // représentation hexadécimal (majuscule)

printf("%%+d = '%+d'\n", $n); // indication du signe pour un entier positif
printf("%%+d = '%-d'\n", $u); // indication du signe pour un entier négatif
?>

L'exemple ci-dessus va afficher :

%b = '10100111101010011010101101'
%c = 'A'
%d = '43951789'
%e = '4.39518e+7'
%u = '43951789'
%u = '4251015507'
%f = '43951789.000000'
%o = '247523255'
%s = '43951789'
%x = '29ea6ad'
%X = '29EA6AD'
%+d = '+43951789'
%+d = '-43951789'

Exemple 6. sprintf() : spécificateurs chaînes de caractères

<?php
$s
= 'monkey';
$t = 'many monkeys';

printf("[%s]\n",      $s); // affichage d'une chaîne standard
printf("[%10s]\n",    $s); // justification à droite avec des espaces
printf("[%-10s]\n"$s); // justification à gauche avec des espaces
printf("[%010s]\n"$s); // l'espacement nul fonctionne aussi sur les chaînes
printf("[%'#10s]\n"$s); // utilisation du caractère personnalisé de séparation '#'
printf("[%10.10s]\n", $t); // justification à gauche mais avec une coupure à 10 caractères
?>

L'exemple ci-dessus va afficher :

[monkey]
[    monkey]
[monkey    ]
[0000monkey]
[####monkey]
[many monke]

Exemple 7. sprintf() : entier sans espace

<?php
$isodate
= sprintf("%04d-%02d-%02d", $year, $month, $day);
?>

Exemple 8. sprintf() : formatage de devises

<?php
$money1
= 68.75;
$money2 = 54.35;
$money = $money1 + $money2;
// echo $money affichera "123.1";
$formatted = sprintf("%01.2f", $money);
// echo $formatted affichera "123.10"
?>

Exemple 9. sprintf() : notation scientifique

<?php
$number
= 362525200;

echo
sprintf("%.3e", $number); // affiche 3.63e+8
?>


Rechercher une fonction PHP

Réseaux sociaux

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher les interactions avec les réseaux sociaux sur ces pages.

 

Nuage de mots clés

5 mots clés dont 0 définis manuellement (plus d'information...).

Avertissement

Cette page ne possède pas encore de mots clés manuels, ceci est donc un exemple automatique (les niveaux de pertinence sont fictifs, mais les liens sont valables). Pour tester le nuage avec une page qui contient des mots définis manuellement, vous pouvez cliquer ici.

Vous pouvez modifier vos préférences dans votre profil pour ne plus afficher le nuage de mots clés.

 

Références

  1. Consulter le document html Langue du document: fr Manuel PHP : http://be2.php.net, sprintf

Ces références et liens indiquent des documents consultés lors de la rédaction de cette page, ou qui peuvent apporter un complément d'information, mais les auteurs de ces sources ne peuvent être tenus responsables du contenu de cette page.
L'auteur de ce site est seul responsable de la manière dont sont présentés ici les différents concepts, et des libertés qui sont prises avec les ouvrages de référence. N'oubliez pas que vous devez croiser les informations de sources multiples afin de diminuer les risques d'erreurs.

 

Astuce pour imprimer les couleurs des cellules de tableaux : http://www.gaudry.be/ast-rf-450.html
Aucun commentaire pour cette page

© Ce document issu de l′infobrol est enregistré sous le certificat Cyber PrInterDeposit Digital Numbertection. Enregistrement IDDN n° 5329-931
Document créé le 19/08/06 20:50, dernière modification le Vendredi 17 Juin 2011, 12:12
Source du document imprimé : http://www.gaudry.be/php-rf-function.sprintf.html Document affiché 1 fois ce mois de Juin.
St.Gaudry©07.01.02
Outils (masquer)
||
Recherche (afficher)
Recherche :

Utilisateur (masquer)
Navigation (masquer)
Apparence (afficher)
Stats (afficher)
15832 documents
452 astuces.
549 niouzes.
3099 definitions.
447 membres.
8115 messages.

Document genere en :
0,39 seconde

Mises à jour :
Mises à jour du site
Citation (masquer)
Notre vie est pour une grande part composée de rêves. Il faut les rattacher à l'action.

Anaïs Nin
 
l'infobrol
Nous sommes le Dimanche 03 Juin 2012, 07:06, toutes les heures sont au format GMT+1.00 Heure, heure d'été (+1)