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.

È stato utile?

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);
}

try

   printf('%03d', $i)

e link al manuale

applausi

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

metodo str_pad :

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.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top