Domanda
Voglio contare con 0. Voglio dire se
$ x = 002 $ y = 999
Ora voglio contarlo mantenendo lo 00.
for ( $i = $x ; $i <= $y; $i++ )
{
echo $i;
}
ma echo - 002, 3, 4, 5
Voglio che conti mantenendo lo 00. come 005, 006, 007, 008, 009, 010, 011, 012.
Soluzione
for ($i = $x ; $i <= $y; $i++)
{
printf('%03d', $i);
}
Altri suggerimenti
(s) printf è tuo amico per questo, ci sono molti esempi utili nel manuale -pagina, ma vorresti:
printf ('% 03d', $ i);
L'idea è che non la conti così, la mostri solo così. Spero che tu capisca che 00 è solo per la presentazione. Cin cin.
usa printf:
for ( $i = $x ; $i <= $y; $i++ ) {
printf("%03d", $i);
}
printf ("% 03d " ;, $ i);
Prova a utilizzare i formati numerici
Fare riferimento qui: http://us2.php.net /manual/en/function.number-format.php
Basta scorrere fino in fondo.
Cordiali saluti
echo str_pad($i, 3, '0', STR_PAD_LEFT);
Non puoi farlo se $ i è un numero intero. La prima volta che assegni $ i viene archiviato come stringa, dopo che $ i ++ viene convertito in un numero intero.
Se devi mantenere il formato originale, tratta $ i come una stringa e fai tutto l'aritmetica su $ i usando le funzioni personalizzate, non la build nell'aritmetica intera.
La soluzione più semplice è lasciare che $ i sia un numero intero e anteporre gli zeri iniziali quando si genera $ i.