TheRec
mardi 16 mai 2006 à 10:49
Lorsque tu fais un
echo de
$row['ref_number'] tu affiche une chaîne de caractère (car je suppose que cela provient d'une base de données)...ce qui permet à PHP d'afficher des zéros non-significatifs...
Alors que lorsque tu lui as ajouté un nombre ou effectué une autre opération mathématique, PHP s'occupe de faire la conversion de types pour toi, de chaîne de caractères à entier (ou
float si tu fais une division par exemple)... Ensuite lorsque tu fais un
echo de ce résultat il refait une conversion en chaîne de caractères pour l'afficher...mais tes zéros non-significatifs n'existent plus, ils sont perdus lors de la première conversion.
Pour formater à l'affichage il faut utiliser
sprintf ou
printf ainsi, par exemple :
CODE
printf("%'012d",$reference);
Je te laisse lire la manuel pour la syntaxe des spécifications de conversions.
P.S.: Je te conseille l'utilisation des
opérateurs de post ou pre incrémentation lorsque tu veux incrémenter une varaiable...c'est plus clair à la relecture et c'est surtout plus court et plus puissant...