Formatter un nombre à deux chiffres avec sprintf

php

Comme beaucoup de monde j’utilisai une condition pour afficher un nombre à 2 chiffres même s’il n’est qu’à un chiffre (inférieur à 10).

Ca fait maintenant un moment que j’entends parler de sprintf, sans m’y être intéressé, mais avec cette fonction, il est possible de formater un nombre sur deux chiffres, c’est bien plus propre que la condition.

Code

Avant

for($i = 1; $i < 15; $i++) {
        if($i < 10) {
                $nb []= "0" . $i;
        } else {
                $nb []= $i;
        }
}
/* Ou condition sur une ligne */
for($i = 1; $i < 15; $i++) {
        $nb []= ($i < 10) ? "0" . $i : $i;
}
/* Même résultat pour les 2 conditions : 01 > 15 */

Après

for($i = 1; $i < 15; $i++) { // Jusque qu'ici rien ne change
        $nb []= sprintf('%02d', $i); // Plus propre non ?
}
/* Même résultat que les conditions : 01 > 15 */

2 réflexions au sujet de « Formatter un nombre à deux chiffres avec sprintf »

    • Oui, de m’avoir rappelé la fonction, pas son utilisation, pour ça, merci la doc PHP 😉
      C’est une utilisation, comme beaucoup toute simple, mais beaucoup utilisent la boucle, ça propose une autre manière de résoudre le problème, qui pour moi est plus propre, maintenant côté ressources, je ne sais pas ce que ça vaut…

Laisser un commentaire