J'ai besoin de lancer des chiffres simples (1 à 9) à (01 à 09). Je peux penser à un moyen mais c'est gros, laid et encombrant. Je suis sûr qu'il doit y avoir un moyen concis. Aucune suggestion
126
Tout d'abord, votre description est trompeuse. Double
est un type de données à virgule flottante. Vous souhaitez vraisemblablement compléter vos chiffres avec des zéros non significatifs dans une chaîne. Le code suivant fait cela:
$s = sprintf('%02d', $digit);
Pour plus d'informations, reportez-vous à la documentation de sprintf
.
digit
valeur en tant qu'entier cette fois-ci une erreur, si passer en tant que chaîne ce temps-là pas de problèmesprintf
. Vérifiez le format des entiers , en particulier la section sur les chiffres octaux.Il y a aussi str_pad
la source
Solution utilisant str_pad :
Benchmark sur PHP 5.3
Code:
la source
Les performances
str_pad
dépendent fortement de la longueur du rembourrage. Pour une vitesse plus cohérente, vous pouvez utiliser str_repeat .Utilisez également la valeur de chaîne du nombre pour de meilleures performances.
Testé sur PHP 7.4
la source